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

如何通过命令提示符使用名称列表批量重命名xhtml文件?

批量用名称列表重命名XHTML文件脚本详解

需求说明

你有一个包含名称列表的names.txt文件,需要按顺序将指定目录下的.xhtml文件(如00001.xhtml)重命名为列表中的名称+.xhtml格式。以下是给原脚本添加详细注释后的版本,你可以直接修改参数适配自己的路径需求。


带注释的完整批处理脚本

@echo off
:: 关闭命令行默认回显,让执行过程更简洁
setlocal enabledelayedexpansion
:: 启用延迟环境变量扩展,支持循环内动态读取变量值

:: -------------------------- 可自定义参数 --------------------------
set "listfile=./names.txt"  :: 名称列表文件的路径,可写绝对路径(例:C:\my_files\names.txt)
set "target_ext=.xhtml"     :: 需要重命名的文件扩展名
set "target_dir=./"         :: 存放XHTML文件的目录,可写绝对路径(例:D:\xhtml_docs\)
:: -----------------------------------------------------------------

set count=0
:: 遍历目标目录下所有指定扩展名的文件(仅文件,不包含子目录)
for /f "delims=" %%a in ('dir /b /a-d "%target_dir%*%target_ext%"') do (
    set /a count+=1  :: 计数器自增,对应名称列表的行号
    :: 从名称列表中读取第count行的内容
    for /f "tokens=1* delims=:" %%b in ('findstr /n "^" "%listfile%" ^| findstr "^!count!:"') do (
        :: 执行重命名操作:原文件名 → 列表名称+目标扩展名
        ren "%target_dir%%%a" "%%c%target_ext%"
    )
)
endlocal
:: 结束局部环境,恢复系统原有环境变量

关键部分说明

  1. 参数修改区:直接修改listfile、target_ext、target_dir三个变量就能适配你的路径,不用改动脚本核心逻辑
  2. 延迟扩展:因为要在循环里动态更新count计数器,必须启用enabledelayedexpansion,读取变量时用!变量名!而非%变量名%
  3. 文件遍历:dir /b /a-d仅输出文件名,过滤掉子目录,确保只处理目标文件
  4. 列表行匹配:findstr /n "^"给名称列表的每一行添加行号,再通过行号匹配对应序号的文件名,保证顺序对应

注意事项

  • 确保名称列表的行数和XHTML文件数量一致,否则多余的文件不会被重命名,剩余的名称也不会被使用
  • 避免文件名包含&、|等特殊字符,防止脚本执行出错
  • 建议先备份目标文件再执行脚本,避免误操作导致文件丢失

内容的提问来源于stack exchange,提问作者WV-Mike

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:33:32