我有一个包含bmp文件的文件夹,它们可能是文件夹中的4个或文件夹中的50个,但它们是
image.bmp
image1.bmp
image2.bmp
我使用以下代码启动了一个批处理文件:
@echo off
setlocal enableDelayedExpansion
SET counter=0
SET /P filename=Please enter the filename:
for %%G in (C:\Test_Folder) do (
ren image*.bmp "%filename%""%counter%".bmp
SET /A counter=%counter%+1;
echo "%counter%"
)
pause
但是计数器没有递增,有人能为我的代码提供一些亮点吗?
答案 0 :(得分:1)
@echo off
setlocal enableDelayedExpansion
SET counter=0
SET /P filename=Please enter the filename:
for %%G in (C:\Test_Folder\image*.bmp) do (
ren "%%~G" "%filename%!counter!.bmp"
SET /A counter+=1
echo "!counter!"
)
pause
的变化:
使用counter
变量的延迟扩展
for
处理匹配文件夹中的文件而不是文件夹本身
使用ren
重命名单个文件而不是通配符用法
SET /A counter+=1
代替SET /A counter=!counter!+1
(做同样的事情,但提高了可读性)。