В PowerShell существует странное поведение, когда в пути есть квадратные скобки. Например, если вы находитесь в папке:
C:\Some Movie [2011]
который содержит файл mkv
, и вы вводите:
ls *.mkv
ничего не возвращается! Я думаю, проблема кроется в том, что PowerShell пытается сделать что-то вроде:
Get-ChildItem 'C:\Some Movie [2011]\*.mkv'
который терпит неудачу, потому что [2011]
считается подстановочным знаком. Я смог извлечь все mkv
из такой папки с помощью следующей команды:
Get-ChildItem -LiteralPath 'C:\Some Movie [2011]' -Include *.mkv
но когда я пытаюсь передать эти результаты в команде "Переименовать-элемент", это не сработает.
Get-ChildItem -LiteralPath 'C:\Some Movie [2011]' -Include *.mkv | Rename-Item -NewName "movie.mkv"
Те же операции в папке без скобок выполняются без проблем. Любые идеи?