【发布时间】:2012-11-19 21:36:05
【问题描述】:
我想知道如何将 BATCH 文件配置为首先运行 python 脚本:example.py(进行查找和替换),然后在根文件夹中的子文件夹中的多个文件上运行脚本.
此外,子文件夹中编辑/更改的文件应删除并与新更改的文件一起保存。
您的帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: batch-file
我想知道如何将 BATCH 文件配置为首先运行 python 脚本:example.py(进行查找和替换),然后在根文件夹中的子文件夹中的多个文件上运行脚本.
此外,子文件夹中编辑/更改的文件应删除并与新更改的文件一起保存。
您的帮助将不胜感激。
提前致谢。
【问题讨论】:
标签: batch-file
你可以这样开始:
for /r [[drive:]path] %a in (*.txt) do example.py "%a"
这将为每个.txt 文件执行example.py,从[[drive:]path] 开始,并递归子目录/r。如果您省略 drive:path,它将从当前目录开始搜索,例如
for /r %a in (*.html) do example.py "%a"
for /r C:\ %a in (*.html) do example.py "%a"
第一个示例为当前目录下的每个*.html 文件执行example.py,第二个示例为C:\ 下的每个.html 文件执行example.py。
也可以删除更改的文件,但我们需要更多信息。也许你只需要这个?
for /r %a in (*.txt) do example.py "%a" temp.tmp & copy temp.tmp "%a"
请记住,如果您在命令提示符下启动此命令,这将起作用。如果你想在批处理文件中使用它(.cmd,.bat)你必须使用%%a而不是%a。
【讨论】:
for /r 命令中从来不需要点,当然也不会使用。当这种不常见的 FOR 命令形式开始在批处理文件初学者社区中传播时,您肯定会感到自豪,正如我之前所说的那样...... :-(