4

30日以上経過したファイルを移動するバックアップスクリプトを作成しようとしていますが、リストからフォルダーを除外できるようにしたいと思います。

$a = "C:\\Temp\\Exclude\\test"
$b = "C:\\Temp\\Exclude"

次を実行した場合:

$a -match $b

PowerShellの基本事項は次のとおりです。条件演算子-Match-Like-Contains&-In -NotIn

$Guy ="Guy Thomas 1949"
$Guy -match "Th"

これはを返しますtrue

4

1 に答える 1

9

ウィルカードなどの演算子を使用すると、頭の痛みを大幅に軽減できます。

$a -like "$b*"

一致演算子は正規表現パターンを使用しており、パスには正規表現の特殊文字(エスケープ文字)が含まれています。それでも-matchを使用する場合は、必ず文字列をエスケープしてください。

$a -match [regex]::escape($b)

これは機能しますが、文字列の途中で一致する可能性があることに注意してください。「^」アンカーを追加して、文字列の先頭から一致するように正規表現エンジンに指示できます。

$a -match ("^"+[regex]::escape($b))
于 2012-05-01T17:03:28.177 に答える