如何编写一个批处理脚本来遍历所有子文件夹中的所有 png 文件并执行操作?

Gru*_*ear 2 windows-7 script batch batch-file

我正在寻找构建一个执行 pngout.exe 命令行的小批处理脚本

到目前为止,我只有这个

for %i in (*.png) do "g:\myfiles\_pngout.exe" "%i" /s0 /c6
Run Code Online (Sandbox Code Playgroud)

但是,为此,我必须手动转到 png 所在的每个文件夹并从 Win7 打开一个 cmd 窗口,然后复制并粘贴该行。

我想要的是让该行在 C:\MyPNGs 及其子文件夹中工作,例如 C:\MyPNGs\Avatars 等,它应该遍历所有 png 并且每次执行该 "g:\myfiles\_pngout.exe" "%i" /s0 /c6

有任何想法吗?

LPC*_*hip 5

您可以从 dosprompt 使用以下命令:

for /r %f in (*.png) do _pngout.exe "%f"
Run Code Online (Sandbox Code Playgroud)

或批处理文件中的以下内容:

for /r %%f in (*.png) do _pngout.exe "%%f"
Run Code Online (Sandbox Code Playgroud)

对于 /r 也支持给出起始目录。否则,它将使用当前目录并获取与您的文件掩码匹配的所有子目录中的每个文件。