批处理脚本:在文件夹内所有目录中运行python脚本

0 投票
2 回答
2259 浏览
提问于 2025-04-17 03:17

我有一个叫做 script.py 的Python脚本,我想在一个特定文件夹里的所有子文件夹中运行它。请问用批处理脚本怎么做最简单呢?

我猜应该用到 FOR 命令,但我还没找到合适的方法来解决这个问题...

2 个回答

0

Rudu 的回答基础上,假设 script.py 文件和下面的批处理脚本在同一个文件夹里(比如说在 C:\Test),你还可以让 script.pyC:\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
)

撰写回答