2010-02-28 2 views
2

У меня есть пакетный файл, содержащий питон скрипт, используя шаблон Output>% (NAME) s когда я побежал, CMD думает сво вар и igoners в% такбуквального использования% в партии

youtube-dl.py -b -o %(uploader)s-%(title)s-%(id)s.%(ext)s 

превращается в

как я убедить CMD не обработать его и передать его как в Python?

+0

Спасибо за этот вопрос, помог мне разобраться с проблемой jenkins .bat с помещением% 20 в целевой URL-адрес командной строки! –

ответ

3

Заменить% с %%: (. Отметим, что в отличие от Unix, двойные кавычки не делают много на командной строки Windows,)

youtube-dl.py -b -o %%(uploader)s-%%(title)s-%%(id)s.%%(ext)s 

+0

Они делают, но не остановят расширение переменных окружения. Как еще вы включили бы содержимое переменной в командную строку, если бы не это? – Joey

3

Если вы не хотите ваши % символы интерпретируемые cmd.exe, вы должны префикс их экранирующего символа:

c:\> set qwert=55 
c:\> echo %qwert% 
55 
c:\> echo ^%qwert^% 
%qwert% 
1

вот альтернативное предложение, вы не должны вмешиваться в ЦМД «причуды», как т вы столкнулись. Переходите к своим сценариям нормальных текстовых аргументов, затем в своем скрипте делайте шаблоны.

+0

Я подозреваю, что youtube-dl.py не является его скриптом (я использую что-то под тем же именем). Но предложение по-прежнему хорошо - вместо использования пакета используйте свой любимый язык сценариев. Поскольку у вас уже есть Python в системе, используйте другой скрипт python, такой как my-youtube-dl.py, чтобы настроить свой вызов на youtube-dl. –

Смежные вопросы