批处理脚本:在文件夹内所有目录中运行python脚本
我有一个叫做 script.py
的Python脚本,我想在一个特定文件夹里的所有子文件夹中运行它。请问用批处理脚本怎么做最简单呢?
我猜应该用到 FOR 命令,但我还没找到合适的方法来解决这个问题...
2 个回答
0
在 Rudu 的回答基础上,假设 script.py
文件和下面的批处理脚本在同一个文件夹里(比如说在 C:\Test
),你还可以让 script.py
在 C:\Test
里的所有子文件夹中递归运行:
@echo off
for /d /r %%d in (*) do (
echo Processing: %%d
script.py "%%d"
)
从 cmd.exe
获取的 FOR
命令的帮助文档似乎没有提到它支持多个修饰符,但在 Windows 7 上是可以用的。
3
在使用for命令时,可以用到/d这个选项:
for /D %%d in (*) do script.py %%d
这里假设你每个目录只需要执行一个命令(比如script.py %%d
),如果你需要执行多个命令,可以用大括号()
来包起来。另外,我猜在执行之前可能需要一个执行引擎,但我不太确定你需要的是哪个。
下面是一个多行的例子:
for /D %%d in (%1) do (
echo processing %%d
script.py %%d
)