Comando Powershell para remover “#” (na pasta e nas subpastas)

0

de acordo com o tópico:

Script em lote para remover # de um nome de arquivo (somente em um diretório específico)

existe uma maneira rápida de estender o comando powershell (da resposta @Peter Hahndorf) para que ele funcione nas subpastas? Ou como isso poderia ser feito? (usando o powershell).

Obrigado antecipadamente!

    
por Krzysztof Psujek 14.09.2017 / 07:49

1 resposta

0

Solução em lotes, altere o caminho para se adequar ao seu ambiente.

@Echo off
for /f "delims=" %%A in ('Dir /B/S "X:\path\to\start\*#*" 2^>Nul') do (
    set "fn=%%~nxA"
    Call ren "%%A" "%%fn:#=%%"
)

Um forro do PowerShell não precisa de um ForEach, pois Rename-Item aceita entrada canalizada:

Get-ChildItem '*#*' -File -Recurse | Rename-Item -NewName {$_.Name -Replace '#'}
    
por 14.09.2017 / 17:23