我有一个脚本,我正在运行我声明我正在使用的路径,然后将源文件定义为该路径中的所有子项。
$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,热身启动,通常做了 - 尝试 - 关闭 - 反复 - 混淆重置器,仍然,同样的错误。
也许我有一个我无法看到的错字?
或者,如果我完全错过了错误的解释......请上学。
答案 0 :(得分:0)
结束我文本编辑器右侧的单引号。颜色编码的语法检查帮助我验证它是一个不匹配的引用问题...想要向右滚动查找"
花费了比应有的更多的时间。捂脸。
感谢@Richard提出这个建议。