我有一个正在运行的脚本,我在其中声明了我正在使用的路径,然后将我的源文件定义为该路径中的所有子项。
$htmPath = "c:\users\x\desktop\cgc\ht"
$srcfiles = Get-ChildItem $htmPath -filter "*.htm*"
我过去曾成功运行过此程序,但今天早上我开始收到以下错误:
You must provide a value expression on the right-hand side of the '*' operator.
At C:\users\x\desktop\cgc\CGC002.PS1:63 char:46
+ $srcfiles = Get-ChildItem $htmPath -filter "* <<<< .htm*"
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : ExpectedValueExpression
对我来说,似乎抛出了这个错误,因为脚本将我的通配符解释为乘法,并且需要右侧的值来完成操作。我是否正确解释它?如果确实如此,我如何确保我的通配符被解释为通配符?
我确实找到了这个链接,但这是一个足够不同的场景,有足够多的代码,我不确定它是否适用。但是,我确实发现线程中的这条评论很有趣:
尝试将 *, 放在属性列表的开头而不是结尾。我认为这只是变得混乱。主要是你的格式。
...所以我退出了 PS,热启动,通常的你尝试关闭并重新打开混淆重置器,仍然是同样的错误。
也许我在看不到的地方有错字?
或者,如果我完全错过了对错误的解释……请教我。