Get-ChildItem recursivo que corresponde ao padrão regex e renomeia o item

Get-ChildItem recursivo que corresponde ao padrão regex e renomeia o item

Estou tentando obter recursivamente um item filho que tenha "(1)" e quero remover essa parte. Aqui é onde cheguei até agora, mas gera um erro. Por favor ajude.

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

Obrigado

Responder1

Isso funciona para mim:

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

Ele captura o (1) com e sem espaço em branco inicial e o remove.

informação relacionada