Minha tarefa é substituir alguns caracteres nos nomes dos arquivos em cerca de 10.000 arquivos que possuo, incluindo subpastas.
Então, no meu exemplo, quero alterar o caractere # para hash.
A localização do meu arquivo é "C:\Users\JHB Laptop\Documents" com o arquivo principal chamado test "C:\Users\JHB Laptop\Documents\test".
As subpastas são "C:\Users\JHB Laptop\Documents\test\Nova pasta1\Nova pasta2\Nova pasta3\Nova pasta4\Nova pasta5"
Adaptei este código do usuário:331812 Malcolm
{cd "C:\Users\MyName\Documents\MyDirectory"
# by default, -replace is case-insensitive (equivalent to -ireplace)
# for case-sensitive, use -creplace
Dir | Rename-Item –NewName { $_.name –replace "_"," " }}
e esta é a minha alteração:
cd "C:\Users\JHB Laptop\Documents\test"
# by default, -replace is case-insensitive (equivalent to -ireplace)
# for case-sensitive, use -creplace
Dir | Rename-Item –NewName { $_.name –replace "#","(hash)" }
Esta parte funciona bem, mas é claro que para na última pasta da string
E é aqui que meu conhecimento para. Vejo que -recurse desempenha um papel nas subpastas, mas não consigo descobrir onde ele se encaixa no projeto.