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

使用Windows在所有目录中递归执行命令,windows,batch-file,cmd,Windows,Batch File,Cmd,我正在尝试执行可执行pngout文件,以压缩文件夹及其子文件夹中包含的所有图像。我用的是Windows7电脑。 我已尝试使用以下代码: 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意外 但是,在一行上执行此命令(在当前目录上):

我正在尝试执行可执行pngout文件,以压缩文件夹及其子文件夹中包含的所有图像。我用的是Windows7电脑。 我已尝试使用以下代码:

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意外

但是,在一行上执行此命令(在当前目录上):

有什么建议吗?
谢谢!

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

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