【发布时间】:2013-11-14 19:18:19
【问题描述】:
我尝试编写一个批处理文件,该批处理文件递归地遍历目录(也考虑到空格)并执行 ImageMagick 命令。我有以下内容:
for /R %%a IN (*.png) do mogrify %%a -fuzz 0% -transparent none
注意:这会被空格卡住。
我也试过这个:
for /R "tokens=*" %%a IN (*.png) do mogrify %%a -fuzz 0% -transparent none
注意:此版本不吐错,但不修改文件夹内容。
感谢任何帮助。 亲切的问候, 亚历克斯
【问题讨论】:
-
Mistype^^^ for /R "tokens=*" %%a IN (.png) do mogrify %%a -fuzz 0% -transparent none
-
类似 - 但我试图不指定目录。我也在使用 ImageMagic 命令。
-
这些答案中有信息。阅读它们,看看它们如何应用于您自己的代码。例如,第二个在
for循环中使用echo从dir列表中输出文件名;该示例在此处直接应用于您的问题。 -
为此认真考虑使用 Powershell。它不会有同样的空格问题,而且它的循环结构要简单得多:
Get-ChildItem *.png | ForEach-Object { mogrify $_ -fuzz 0% -transparent none }甚至更短:ls *.png | % { mogrify $_ fuzz 0% -transparent none } -
谢谢大家!大卫的解决方案就像一个魅力!
标签: loops batch-file