私は次のPowershellコードを持っています
ls "*.zip" | % {
$name = $_.name
if (-not ($name -match '(?<x>\d\d)(?<y>\d{4})\.zip')) { continue }
$p = $matches["y"] + $matches["x"]
}
コードはISEでうまく機能します。ただし、コマンドラインシェルで実行すると、次のエラーが発生します。
Cannot index into a null array. At line:3 char:19 + $p = $matches[ <<<< "y"] + $matches["x"] + CategoryInfo : InvalidOperation: (y:string) [], RuntimeException + FullyQualifiedErrorId : NullArray
中かっこをあまり多くインデントしたくなかったので、編集
し
ます。if (-not ...) { continue }
問題を修正しました-not ()
。(ただし、エラーとは関係ありませんが、名前が常にxxx999999.zipのパターンであるファイルをテストしました)