使用python命令在Windows上执行for循环

时间:2019-11-19 21:46:08

标签: windows shell

我想使用python例程转换许多文件。文件名是p0,p1,p2,...,p10,... p100,txt扩展名。我使用以下例程:

py_odt.py input_file.txt outputfile.dat

在我写的cmd中:

 For /R  %i in (*.txt) do py_odt.py  *.txt *.dat %i

问题是py_odt.py的输入部分无法识别输入文件,我可以在输入文件中输入的内容可以识别txt文件?

1 个答案:

答案 0 :(得分:0)

据我所知,您正在尝试执行py_odt.py <name>.txt <name>.dat<name>中的p0, p1, ... p100。我想您正在python中使用sys.argv来收集参数。

这里的问题是,您给python脚本提供的args无效的文件路径:*.txt*.dat。您必须执行的操作是使用%~ni提取文件的名称。我不使用Windows,所以无法测试它,但是您可以尝试以下方法:

For /R %i in (*.txt) do py_odt.py "%i" "%~ni.dat"

不要忘记在批处理文件中将%i替换为%%i