You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.bat批处理按4位数字顺序批量重命名tif文件问题求助

批处理tif文件批量重命名解决方案

你原有脚本的核心问题如下:

  • 内层循环每次遍历所有tif文件读取前缀,属于冗余操作,而且如果目录下文件前缀不一致会取最后一个文件的前缀,不符合固定前缀的需求
  • 没有先统一排序再重命名,容易出现重名覆盖、序号错乱的问题
  • 前缀提取逻辑如果文件名规则有变化很容易失效

修正后可用脚本

@echo off
setlocal enabledelayedexpansion
:: 前缀配置二选一即可,推荐手动配置更稳定
:: 方式1:手动填写固定前缀
set "fixed_prefix=Open_university_MS221"
:: 方式2:自动从第一个tif文件提取前缀,使用时注释上一行,取消注释下面3行即可
:: for /f "delims=" %%a in ('dir /b /od *.tif ^| findstr /i ".tif$"') do (
::     for /F "tokens=1-3 delims=_" %%g in ("%%~na") do set "fixed_prefix=%%g_%%h_%%i" & goto get_prefix_done
:: )
:: :get_prefix_done

set /a count=1
:: 按文件名升序遍历所有tif,避免重名冲突
for /f "delims=" %%f in ('dir /b /od *.tif ^| findstr /i ".tif$"') do (
    :: 生成4位补零序号
    set "seq=000!count!"
    set "seq=!seq:~-4!"
    :: 拼接新文件名
    set "new_name=!fixed_prefix!_!seq!%%~xf"
    :: 执行重命名
    rename "%%f" "!new_name!"
    set /a count+=1
)
echo 重命名操作完成
pause
endlocal

使用注意事项

  • 操作前建议先备份原目录文件,避免误操作导致数据丢失
  • 如果需要按文件修改时间排序分配序号,把dir /b /od中的/od改为/o-d即可
  • 如果目录下已存在符合目标命名规则的文件,会导致重命名失败,提前清理冲突文件即可

内容的提问来源于stack exchange,提问作者Jeremy UK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 20:15:03