Я пытаюсь использовать PowerShell, чтобы установить условие, что если имя файла содержит любой из следующих символов (#
, %
, &
. +
. {, }
, ~
),затем замените эти символы на «_
».Я хочу применить это ко всем именам файлов и папок (включая файлы в подпапках).
У меня есть код ниже, который частично работает, так как он работает только для замены 2 символов "(%, &)",Если я хочу заменить больше символов, это не сработает.Появляется сообщение об ошибке, и только первый символ заканчивается заменой.Есть ли способ исправить этот код?
Get-ChildItem -Recurse | `
Where-Object {$_.Name -match '&' -or $_.Name -match '%' } | `
Rename-Item -NewName { $_.Name -replace '&','_' -replace '%','_' }
Поскольку у меня нет опыта в кодировании, я был бы очень признателен, если бы вы предоставили весь код, который решит эту проблему, спасибо!