Переименовать все файлы в папке с аргументами? - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть папка с видеофайлами:

Эпизод аниме (1) .mp4, Эпизод аниме (2) .mp4, Эпизод аниме (3) .mp4, .. .

Мне нужно переименовать их следующим образом:

Аниме Эпизод 1.mp4, Аниме Эпизод 2.mp4, Аниме Эпизод 3.mp4 , ...

Мне нужно снять только скобки, но все остальное оставить. Есть ли сценарий Powershell или команда CMD, которые я могу использовать, чтобы это произошло? Пожалуйста, помогите, я не могу переименовать все 1000+ эпизодов вручную.

Ответы [ 3 ]

0 голосов
/ 03 апреля 2020

Использование:

Get-ChildItem *.mp4 | % { Move-Item $_ $($_ -replace '[()]','') }

Используется регулярное выражение для замены скобок

0 голосов
/ 03 апреля 2020
cd your folder location
ls *.mp4 | rename-item -NewName {$_.Name -replace "\)|\(",""}

вы можете указать строку, которую хотите заменить, в -replace "\)|\(","".

  1. первый аргумент: ") | (" это то, что вы хотите заменить. Это значит) или (, но это специальные символы, поэтому вам нужно экранировать, добавив \
  2. второй аргумент: "" это то, что вы хотите заменить. Поскольку вы хотите удалить (), просто дайте ему значение null.
0 голосов
/ 03 апреля 2020

Попробуйте это (при условии, что имена файлов разделены запятой без пробелов)

Set-Location "Filepath"
$args[0].split(",") | ForEach {
  Rename-Item -Path "$_" -Newname {$_.tostring().replace('(','').replace(')','')}
}
...