Используйте powershell для удаления случайной строки символов из имен файлов

У меня есть серия файлов, которые содержат строку символов, такую ​​как этот

(AEDOGRES)

Пример имени файла будет

"Test 1(DOWKFUET).png"

Я хочу использовать команду powershell, чтобы избавиться от всей строки в скобках, чтобы получить что-то вроде этого.

 "Test 1.png"

Я ожидаю, что смогу использовать такую ​​​​команду

   dir | rename-item –NewName { $_.name –replace “(*)“,”” }

Однако это не работает для меня. Любая помощь приветствуется!

Я использую powershell 3.0


person user3093522    schedule 12.12.2013    source источник


Ответы (1)


Сопоставление регулярных выражений и подстановочных знаков имеет разные правила. В регулярном выражении * означает «совпадение с нулем или более предыдущего символа», а круглые скобки — это зарезервированные символы, используемые для группировки конструкций, и их необходимо экранировать (используя обратную косую черту), если вы хотите, чтобы они использовались как буквальное совпадение.

См. Get-Help about_regular_expressions и попробуйте следующее:

$name = "Test 1(DOWKFUET).png"
$name -replace '\(.+\)',''
person mjolinor    schedule 12.12.2013