请求合并图片转换后文件整理的拖拽式批处理脚本
没问题,我帮你把两段批处理脚本整合好了,还加上了你提到的拖拽文件夹支持,具体代码和说明如下:
合并后的完整批处理脚本
@echo off cls @pushd "%~dp0" setlocal enabledelayedexpansion :: 配置转换工具路径和重命名参数 set "exepath=\\output\_REPO\TOOLS\IMAGE_TOOLS\ImageConvert\IMAGECONV_x64.exe" set "rename_flag=-r" :: 处理拖拽的文件夹(如果有拖拽参数,则切换到该文件夹) if not "%~1"=="" ( pushd "%~1" ) :: 遍历当前目录及子目录下所有.tga文件进行转换 echo 开始转换所有TGA图片... for /r %%i in (*.tga) do ( echo 正在处理:"%%i" "%exepath%" "%%i" %rename_flag% ) :: 处理转换后的_converted.tga文件(这里默认去掉_converted后缀,可按需调整) echo 开始处理转换后的文件重命名... for /f "delims=" %%i in ('dir /b /a-d *_converted.tga') do ( set "imagefilename=%%~i" :: 替换文件名中的_converted标记 set "newname=!imagefilename:_converted=!" :: 执行重命名 ren "%%i" "!newname!" echo 重命名:"%%i" → "!newname!" ) echo 所有操作完成! pause popd endlocal
关键调整说明
- 加入了拖拽文件夹支持:直接把目标文件夹拖拽到脚本图标上,脚本会自动切换到该目录执行操作,不用手动切换路径
- 整合了两段逻辑:先批量转换所有TGA文件,再统一处理重命名,避免流程割裂
- 启用
enabledelayedexpansion保证重命名时的变量替换正常生效 - 增加了操作日志输出:每一步处理都会显示当前文件,方便你跟踪进度或排查问题
- 保留了原脚本的
pushd %~dp0逻辑,确保脚本默认在自身目录启动,同时兼容拖拽参数
内容的提问来源于stack exchange,提问作者peanutbutter
相关产品推荐
相关产品推荐

