批量图片转换脚本执行时随机丢失图片的问题求助
批量图片转换脚本执行时随机丢失图片的问题求助
我这段时间一直在用一个批处理脚本辅助处理WordPress/WooCommerce页面的商品图片,功能是把目标文件夹里的图片转成WebP格式后存到输出文件夹,然后删除原文件夹里的原始图片。但最近遇到了一个奇怪的问题:脚本偶尔会随机丢失0到2张图片,而且不管原始图片是什么格式,都有可能出现这种丢失的情况。
我自己几乎不懂编程,这个脚本是用ChatGPT生成的,代码看起来挺简短简单的,但我实在找不到为什么会随机丢图。先把我的脚本贴出来:
@echo off setlocal enabledelayedexpansion set "targetDirectory=C:\Path\to\target\folder" set "outputDirectory=C:\Path\to\output\folder" pushd "%targetDirectory%" for %%F in (*.*) do ( set "outputFile=!outputDirectory!\%%~nF.webp" magick "%%F" "!outputFile!" ) echo Files in %targetDirectory% have been converted to WebP format and stored in %outputDirectory%. popd echo Deleting original files... del /Q "%targetDirectory%\*.*" echo Original files in %targetDirectory% have been deleted. timeout /nobreak /t 3 >nul endlocal
脚本的预期逻辑很明确:遍历目标文件夹里的所有文件,用ImageMagick将它们转换为WebP格式并保存到输出文件夹,之后删除原文件夹中的所有原始文件。但实际运行时,有时候输出文件夹里会少几张转换后的图,而对应的原始文件也已经被删掉了,等于这几张图直接丢失了。
有没有大佬能帮我分析下可能的原因,以及给出解决这个问题的办法?
备注:内容来源于stack exchange,提问作者MonkeyNoodles
相关产品推荐
相关产品推荐

