0

我有一个正在运行的脚本,我在其中声明了我正在使用的路径,然后将我的源文件定义为该路径中的所有子项。

$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,热启动,通常的你尝试关闭并重新打开混淆重置器,仍然是同样的错误。

也许我在看不到的地方有错字?

或者,如果我完全错过了对错误的解释……请教我。

4

1 回答 1

0

最终成为我的文本编辑器右侧的一个双引号。颜色编码语法检查帮助我验证这是一个不匹配的报价问题......考虑向右滚动以查找所需"的时间比它应该有的要多得多。掌心。

感谢@Richard 提出这个建议。

于 2013-02-22T11:44:13.483 回答