批处理文件中的For循环不会停止

问题描述 投票:0回答:1

我的 for 循环一直持续下去。我猜大约6次直到它退出。对于 14,000 个文件,这需要一些时间。我想要它做的只是做一次。就一次,不要一次又一次地这样做。我已经用 6 个文件的目录进行了测试,它最终退出了,但到那时它已经重复了很多次。

这是在命令提示符中使用的代码(我已经删除了批处理文件中的%%)。

start "Adjustments 1" cmd /C "FOR %a in (*.png) DO magick %a -adaptive-sharpen 0x5 modified\adaptive_sharpen2_%a & FOR %a in (*.png) DO magick %a -adaptive-blur 0x1 modified\adaptive_blur_%a"

请问,如何才能只处理文件一次,而不是多次处理每个 png 并不断覆盖?

windows loops for-loop batch-file cmd
1个回答
0
投票

我认为正在发生的事情是 FOR 循环正在每次迭代评估 *.png 列表,并拾取您修改的文件,因为它们的修改日期/时间已更改。

我对 CMD 脚本了解不够,无法为您编写代码,但您应该能够使用 DIR 命令列出 *.png 文件,将输出定向到新文件。然后,使用 FOR 和 /F 选项一次循环遍历该文件一行。

我也不知道您用来修改文件的 magick 程序的语法,但可能有一个选项可以指定输出的确切名称。如果是这样,您可以输出具有另一个扩展名(或另一个目录)的文件。

© www.soinside.com 2019 - 2024. All rights reserved.