/ / Como substituir uma string específica em um nome de arquivo usando o powershell - powershell, powershell-v3.0

Como substituir uma string específica em um nome de arquivo usando o powershell - powershell, powershell-v3.0

Eu estou tentando escrever um script PowerShell que vá para pasta específica que tem várias pastas contendo o arquivo do Excel. O nome do arquivo é como exemplo 1_RIM_Reports_201510.xlsx 2_Rim_Reports_September.xlsx

Agora eu quero mudar substituir a palavra RIM com NIR como posso fazer isso para vários arquivos.

1_NIR_Reports_201510.xlsx 2_NIR_Reports_September.xlsx

Get-ChildItem $directory -Recurse |

Rename-Item { $_.name -replace "*RIM*.xlsx", "*NIR*.xlsx" }

Respostas:

1 para resposta № 1

Se sua string sempre tiver o sublinhado _ antes e depois você pode simplesmente usar isto:

Get-ChildItem $Directory -Recurse |
Foreach-Object { Rename-Item $_.FullName ($_.FullName -replace "_RIN_","_NIR_")}

Caso contrário, você precisa usar a expressão regular, se esse for o caso, informe-nos