PowerShellスクリプトでは、複数のファイルに対してSelect-Stringを実行し、変数($ id)を介して渡された文字列を探しています。
foreach ($file in (ls "path\to\files")) {
$found = $false
$found = Select-String -Path $file $id -Quiet
if ($found) {
break
}
}
残念ながら、$id変数は「\C」や「\T」のようなもので、Select-Stringがエスケープシーケンスとして解釈しようとすることがあります。これらは有効なエスケープシーケンスではないため、Select-Stringはエラーをスローします。それらはエスケープシーケンスを意図したものではありません(たとえば、「C:\ Test」などのファイルパスの一部である可能性があります)。PowerShell/Select-Stringがそれらをそのように解釈しないようにするにはどうすればよいですか。$idの周りに括弧を使ってみましたが運がありませんでした。