У меня есть список файлов, как это:...
Test (file1) [Текст] .txt
Test (file2) [Текст] .txt
Test (file3) [текст] .txtПереименование файлов для удаления периодов в Powershell
Мне нужно удалить любые "()", "[]" и любые ".", заменить их пробелы без изменения расширения файла. Я попытался следующие, но это не работает:
dir C:\scratch\*.txt | % { Rename-Item $_ ($_.basename -replace "\(", " "`
-replace "\)", " "`
-replace "\[", " "`
-replace "\]", " "`
-replace ".", " ")}
В идеале имя файла должно заканчиваться в формате «Test file1 text.txt»
Оба ответа работают нормально, я дал ответ на этот вопрос из-за более простого регулярного выражения. Один вопрос, хотя: работа над выше оставила бы два пробела, где могли бы быть смежные символы вместе. Должен ли я добавить еще один -replace '\ s +', ''? И как мне заменить пространство в конце строки? \ z, похоже, не делает этого. – fenster
См. Обновленное регулярное выражение в ответе: [() [\\].] -> + <- и добавление Trim(). –