windows - 使用Windows在所有目录中递归执行命令

标签 windows batch-file cmd

我正在尝试执行可执行 pngout 文件来压缩文件夹及其子文件夹中包含的所有图像。我使用的是 Windows 7 机器。 我尝试使用以下代码:

for %i in (*.png) do pngout "%i" /kp
for /r /d %%x in (*) do (
    pushd "%%x"
    for %i in (*.png) do pngout "%i" /kp
    popd
)

但是,当我收到此错误时,出现了一个问题:
i"/kp 意外

但是在单行上执行此命令它可以工作(在当前目录上):

for %i in (*.png) do pngout "%i" /kp

有什么指点吗? 谢谢!

最佳答案

将代码放入批处理文件中,并将 %i 项更改为 %%i

关于windows - 使用Windows在所有目录中递归执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691158/

相关文章:

windows - 变量 : extract part of a variable

windows - 带有 Windows 路径的 dockerfile

batch-file - 如何使用 Windows 命令行创建快捷方式

c++ - 如果从 Powershell 或 CMD 运行,如何将控制台输出的文本颜色更改为红色,但背景颜色保持相同

powershell - 如何在PowerShell中 “grep”并显示周围的行/上下文?

linux - tomcat在windows和linux下的区别

Java路径末尾的两个点有意想不到的结果

windows-7 - Windows 7 bat 文件未作为服务启动

android - 如何在 adb shell 中使用 find 命令

powershell - 在 CMD 中运行多行 PowerShell 脚本