我写了一个简短的.bat文件,通过我的一些程序转换图像。不幸的是,我拥有的图像文件夹非常大,而且现在看来,这个程序会产生.png,但也会留下一个.pgm。这会导致程序停止,因为文件夹内存不足。
.bat现在是:
mogrify -format pgm ephemeral:*.png
forfiles /M *.pgm /C "cmd /c for %%s in (@fname) do DebayerGPU.exe -demosaic DFPD_R -GPU -pattern GRBG -i %%s.pgm -o %%s.ppm"
mogrify -format png ephemeral:*.ppm
我尝试在自己的引号中添加“del @ fname.pgm”,并且我在do语句之后尝试使用put()来放置;并添加del @ fname.pgm。但这也行不通。
程序的第二行将.pgm转换为.ppm并将.pgm保留在那里。我的目标是添加另一个命令/行,在转换为.ppm后删除.pgm。
答案 0 :(得分:0)
使用&&
代替;
。
但目前我甚至不知道为什么这会同时使用forfiles
和for
。应该没有理由这样做。如果我理解正确,你可以使用
mogrify -format pgm ephemeral:*.png
for %%s in (*.pgm) do (
DebayerGPU.exe -demosaic DFPD_R -GPU -pattern GRBG -i %%s -o %%~ns.ppm
del %%s
)
mogrify -format png ephemeral:*.ppm