我有一个包含python脚本的批处理文件,使用输出模板> %(NAME)类 当我运行它时,cmd认为它是var和igoners% 所以
youtube-dl.py -b -o %(uploader)s-%(title)s-%(id)s.%(ext)s
变成
youtube-dl.py -b -o (uploader)s-(title)s-(id)s.(ext)s
我如何说服cmd不处理它并将其传递给python?
答案 0 :(得分:3)
将%替换为%%:
youtube-dl.py -b -o %%(uploader)s-%%(title)s-%%(id)s.%%(ext)s
(请注意,与Unix不同,双引号在Windows命令行上不会做太多。)
答案 1 :(得分:3)
如果您不希望cmd.exe解释%
个字符,则应在其前面添加转义字符:
c:\> set qwert=55
c:\> echo %qwert%
55
c:\> echo ^%qwert^%
%qwert%
答案 2 :(得分:1)
这是另一个建议,你不必像你遇到的那样插入cmd“怪癖”。传递给脚本普通文本参数,然后在脚本中进行模板化。