2017-06-08 12 views
0

ファイル)(20160825のように命名されている。PowerShellのバルクは(を含むファイル名を変更)

をXLSX正規表現(正規表現)を使用しています

Get-ChildItem "C:\Users\..." -Filter “*()*” -Recurse | Rename-Item NewName {$_.name -replace ‘()’,’’ } 

Get-ChildItem "C:\Users\..." -Filter “*()*” -Recurse | Rename-Item -LiteralPath -NewName {$_.name -replace ‘()’,’’ } 

答えて

1

-replaceファイル名を変更することなく、この両方を試してみましたこれは異なる規則で異なる言語であり、括弧はグループ化のための特殊文字であり、文字通り一致させるためにはエスケープする必要があります。試してみてください:

$_.name -replace '\(\)' 
1

あなたはPowerShellが/ .netのエスケープをやらせることがあります。

$RE = [RegEx]::escape("()") 
Get-ChildItem "C:\Users\..." -Filter "*()*" -Recurse | 
    Rename-Item NewName {$_.Name -Replace $RE} 

はところで私は、タイポグラフィのものと引用符を置き換えるエディタの使用を避けると思います。

関連する問題