Windows CMD中重命名指定文件列表并添加前缀/后缀
批量给指定列表文件添加后缀/前缀(Windows CMD)
如果不想批量处理所有.tsv文件,只针对你指定的文件列表操作,我们可以通过读取自定义文件列表的方式来实现,下面分两种需求详细说明:
一、优先方案:给指定文件添加后缀(比如把file.tsv改成file_Early.tsv)
步骤1:准备文件列表
把所有需要处理的文件名(包含扩展名,比如DXOpen_BuysideAnalytics_AmerEqty_SF_xxx.tsv)逐行写入一个文本文件,比如命名为target_files.txt,示例内容:
DXOpen_BuysideAnalytics_AmerEqty_SF_01.tsv DXOpen_BuysideAnalytics_AmerEqty_SF_02.tsv Another_Target_File.tsv
注意:如果文件不在当前CMD工作目录下,要写完整的绝对路径,比如
C:\Data\DXOpen_BuysideAnalytics_AmerEqty_SF_01.tsv
步骤2:执行CMD命令
方式A:直接在CMD窗口执行
先切换到文件所在的目录(或者用绝对路径),然后运行:
for /f "delims=" %f in (target_files.txt) do rename "%f" "%~nf_Early%~xf"
方式B:写成批处理文件(.bat)
创建一个add_suffix.bat文件,内容如下:
@echo off for /f "delims=" %%f in (target_files.txt) do ( rename "%%f" "%%~nf_Early%%~xf" echo 已处理:%%f ) pause
双击运行这个批处理即可,它会逐个处理并显示进度。
命令解释
for /f "delims=" %f in (target_files.txt):读取target_files.txt里的每一行,赋值给变量%f(批处理里用%%f),delims=确保文件名带空格也能被完整读取%~nf:提取变量%f对应的文件名(不含扩展名)%~xf:提取变量%f对应的扩展名(含.)rename "%f" "%~nf_Early%~xf":把原文件重命名为「原文件名_Early.原扩展名」
二、备选方案:给指定文件添加前缀(比如把file.tsv改成Early_file.tsv)
操作逻辑和加后缀类似,只是重命名的规则更简单:
步骤1:同样准备target_files.txt(和上面步骤1一致)
步骤2:执行命令
方式A:CMD窗口直接执行
for /f "delims=" %f in (target_files.txt) do rename "%f" "Early_%f"
方式B:批处理文件add_prefix.bat
@echo off for /f "delims=" %%f in (target_files.txt) do ( rename "%%f" "Early_%%f" echo 已处理:%%f ) pause
注意事项
- 确保
target_files.txt里的文件名准确无误,避免错改文件 - 如果文件名包含特殊字符(比如
&、!),可能需要额外处理,建议先测试单个文件 - 执行前最好备份一下目标文件,防止意外
内容的提问来源于stack exchange,提问作者Riley Hun
相关产品推荐
相关产品推荐

