Я узнал о переименовании Powershell несколько лет назад, пытаясь удалить часть -eng в конце файлов .srt для сериалов. Нашел эту команду, которая отлично работала, когда мне нужно было переименовать десятки файлов.
get-childitem *.srt | foreach {rename-item $_ $_.name.replace("-eng","")}
Это единственная известная мне команда. Я просто ничего не знаю ни о PowerShell, ни о программировании. Теперь, например, у меня есть эти файлы.
- Мастера меча онлайн II - 01 [BD] [FS] .mp4
- Мастера меча онлайн II - 02 [BD] [FS] .mp4
24 из них. Идея состоит в том, чтобы получить такой результат
- 02 - 01.mp4
- 02 - 02.mp4
и Т. Д.
Так что мне нужно заменить.
Sword Art Online II --> 02
и
[BD][FS] --> ""
Думал, что это будет не так сложно. Но у меня ошибки. Например я пробовал
get-childitem *.mp4 | foreach {rename-item $_ $_.name.replace("Sword Art Online II ","")}
Но я получаю эту ошибку
rename-item : Cannot rename because item at 'C:\users\santo\downloads\02\Sword Art Online II - 01 [BD][FS].mp4' does
not exist.
At line:1 char:32
+ ... | foreach {rename-item $_ $_.name.replace("Sword Art Online II ","") ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
Итак, я попробовал с последней частью, но получаю ту же ошибку
rename-item : Cannot rename because item at 'C:\users\santo\downloads\02\Sword Art Online II - 01 [BD][FS].mp4' does not exist.
At line:1 char:32
+ ... item *.mp4 | foreach {rename-item $_ $_.name.replace(" [BD][FS]","")}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
Я считаю, что нахожусь в правильном каталоге, потому что я ввожу команду dir, и она перечисляет все 24 файла с помощью компакт-диска и компакт-диска .. Использование Windows Powershell (администратор) Пытался найти строку с ошибкой. Что это означает PSInvalidOperationException Я просто не знаю, во что я ввязываюсь.
Что я делаю неправильно? Есть предположения?