批量使用%的字面值

时间:2010-02-28 11:59:24

标签: python cmd

我有一个包含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?

3 个答案:

答案 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“怪癖”。传递给脚本普通文本参数,然后在脚本中进行模板化。