Powershell:有人可以帮我理解我需要做些什么来防止这个错误吗?

时间:2013-02-20 13:01:54

标签: powershell-v2.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

对我来说,似乎抛出了这个错误,因为脚本将我的通配符解释为乘法,并且需要右侧的值来完成操作。我能正确地解释它吗?如果确实如此,我如何确保我的通配符被解释为widcard?

确实找到this link,但这是一个不同的场景,代码不同,我不确定它是否适用。但是,我确实在线程中发现了这个评论:

尝试将*放在属性列表的开头而不是结尾处。我认为这只是让人感到困惑。这主要是您的格式。

...所以我退出了PS,热身启动,通常做了 - 尝试 - 关闭 - 反复 - 混淆重置器,仍然,同样的错误。

也许我有一个我无法看到的错字?

或者,如果我完全错过了错误的解释......请上学。

1 个答案:

答案 0 :(得分:0)

结束我文本编辑器右侧的单引号。颜色编码的语法检查帮助我验证它是一个不匹配的引用问题...想要向右滚动查找"花费了比应有的更多的时间。捂脸。

感谢@Richard提出这个建议。