Передача аргументов с escape-символами в командный файл из командной строки PowerShell - PullRequest
1 голос
/ 25 января 2020

У меня есть пакетный файл, который запускает пакет Python, и для его запуска требуется строковый аргумент. Строка, обычно ссылка на Youtube, имеет символы присваивания (=), поэтому аргумент должен быть заключен в кавычки для правильной работы. И он работает нормально, когда я вызываю его из командной строки следующим образом (путь к файлу задается в переменных окружения, поэтому его можно вызывать напрямую с его именем):

script-name "https://www.youtube.com/playlist?list=PLZlA0Gpn_vH_CthENcPCM0Dww6a5XYC7f"

Эта команда отлично работает в командной строке CMD , как я уже говорил, но в PowerShell все, что после символа = отбрасывается. Как я могу заставить этот пакетный файл работать должным образом в командной строке PowerShell, который является моим go для терминала?

script-name.bat сам файл выглядит так:

youtube-dl -r 1500K -o "D:\Downloads\Youtube Videos\%%(playlist)s\%%(autonumber)02d - %%(title)s.%%(ext)s" %1

Редактировать: команда и вывод ясно показывают, как отбрасывается остальная часть ссылки:

PS C:\WINDOWS\system32> dl-playlist "https://www.youtube.com/playlist?list=PLZlA0Gpn_vH_CthENcPCM0Dww6a5XYC7f"

C:\WINDOWS\system32>youtube-dl -r 1500K -o "D:\Downloads\Youtube Videos\%(playlist)s\%(autonumber)02d - (ext)s" https://www.youtube.com/playlist?list

1 Ответ

6 голосов
/ 25 января 2020
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...