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 に答える