作者:上犹日期:
返回目录:文件问题
有如下文件夹icon,需要将其中的图标文件全部重命令,每一个文件的名字以文件夹的名字icon开头,后跟两位数字作为序列号。
1 编写如下批处理bat文件:
setlocal enabledelayedexpansion
set n=0
set "lj=%~p0"
rem 得到批处理的路径,不包括驱动器号
set "lj=%lj:\= %"
rem %PATH:str1=str2%是环境变量替换的增强,上面的命令是将路径中间的“/”替换为空格
for %%a in (%lj%) do set wjj=%%a
echo 文件夹是:%wjj% rem 得到批处理的文件夹名称,如下图:
pause
for /f "tokens=1,2 usebackq delims=." %%A in (`dir /o:n /b`) do (
if not "%%~nA"=="%~n0" ( rem 不更改本bat文件的名称;
if not "%%B"=="bat" ( rem 不更改bat文件的名称;
if not "%%A.%%B"=="%%A" ( rem 不更改文件夹的名称;
set /a n=n+1
if !n! lss 10 (
ren "%%A.%%B" "%wjj%0!n!.%%B"
) else (
ren "%%A.%%B" "%wjj%!n!.%%B"
)))))
代码分析:
1.1 得到文件夹的名字;
1.2 在本批处理文件所在文件通过循环遍历每一个文件,以变量得到文件名和扩展名;
1.3 通过重命名命令ren重命名每一个文件。
2 批处理执行后得到如下效果:
3 在操作系统中批量重命名
当然,操作系统本身也是可以批量重命名的:选择需要命名的文件→F2(重命名)→输入开头的字符,如icon→回车,得到的批量重命名的效果如下: