Не пытайтесь сделать что-либо решительное, но я переименовываю свои музыкальные файлы из тегов заголовков mp3. Наткнулся файл этой проблемы: -Как переименовать файл с квадратными скобками с помощью Powershell?
$fyl = One Vision [From the Motion Picture Iron Eagle].mp3
$tmp = "tmp.mp3"
$track_title = One vision [From the motion picture Iron Eagle]
rename-item "$mp3path$fyl" -newname "$mp3path$tmp"
rename-item "$mp3path$tmp" -newname "$mp3path$track_title.mp3"
Я получаю ошибку: - Rename-Item: Невозможно переименовать, потому что пункт на «F: \ Музыка \ Queen \ Живая Магия \ One Vision [Из Кинофильма Iron Eagle] .mp3 'не существует.
Файл существует!
Я просматриваю tmp.mp3 в случае, если файлы одинаковы, если смотреть без чувствительности к регистру.
Код работает с файлами без квадратных скобок, поэтому, очевидно, Powershell воспринимает их буквально.
Я попытался заменить Rename-Item на Move-Item, но получаю схожие ошибки.
Любая помощь приветствуется.
Быстрое предложение попробовать, попробовали ли вы экранировать символы квадратной скобки? '$ fyl = One Vision \ [From the Motion Picture Iron Eagle \]. Mp3' – Gnarlywhale
Я не замечаю никаких кавычек на строках, как правило, они должны быть указаны (одинарные кавычки, если вы не хотите убегать. –
Возможный дубликат из [Как получить доступ к путям файлов в Powershell, содержащим специальные символы?] (http://stackoverflow.com/questions/12090312/how-to-access-file-paths-in-powershell-containing-special-characters) – Matt