如何在Windows CMD中批量替换文件名子串实现重命名
在Windows CMD中批量替换文件名子串的方法
针对需求——将一批文件名的OBBN_0810_前缀替换为OBHL_8554_,同时单独把OBBN_0810_EMPTY.txt改为OBHL_8554_COLL.txt,可以用以下两种方式在CMD中实现:
方式一:分两步处理
- 先单独重命名特殊文件:
ren "OBBN_0810_EMPTY.txt" "OBHL_8554_COLL.txt"
- 再批量替换其余文件的前缀:
for %f in (OBBN_0810_*.txt) do ren "%f" "%f:OBBN_0810_=OBHL_8554_%"
方式二:一次性批量处理(含特殊文件判断)
用带条件判断的for循环,一次完成所有文件的重命名:
for %f in (OBBN_0810_*.txt) do ( if "%~nf"=="OBBN_0810_EMPTY" ( ren "%f" "OBHL_8554_COLL.txt" ) else ( ren "%f" "%f:OBBN_0810_=OBHL_8554_%" ) )
关键说明:
- 若把命令写入批处理文件(
.bat)执行,需将变量中的单个%改为双%%,比如%%f、%%~nf %~nf是CMD的变量扩展语法,用于提取去掉扩展名的文件名%f:原字符串=新字符串%是CMD的字符串替换语法,可批量替换文件名中的指定子串
内容的提问来源于stack exchange,提问作者Talib
相关产品推荐
相关产品推荐

