Get-ChildItem は正規表現パターンに一致し、アイテムの名前を変更する再帰的な関数です。

Get-ChildItem は正規表現パターンに一致し、アイテムの名前を変更する再帰的な関数です。

「(1)」を持つ子項目を再帰的に取得しようとしていますが、この部分を削除したいと思います。ここまでは私が到達したところですが、エラーが発生します。助けてください。

Get-ChildItem -recurse | Where{$_.Name -Match "\s{1}\(1\)"} | Rename-Item -NewName { $_.name -replace ' \(1\)', ''}

ありがとう

答え1

これは私にとってはうまくいきます:

Get-ChildItem -recurse | Where{$_.Name -like "*(1)*"} | Rename-Item -NewName { $_.name -replace '\s*\(1\)', ''} -Verbose

先頭の空白の有無にかかわらず(1)をキャプチャし、それを削除します。

関連情報