有一个cmd批量重命名的命令,但是第一个文件名后加了一个空格,请问如何解决?
@echooff&setlocalEnableDelayedExpansionseta=1for/f"delims="%%iin('dir/b*.jpg')do(ifno...
@echo off&setlocal EnableDelayedExpansion
set a=1
for /f "delims=" %%i in ('dir /b *.jpg') do (
if not "%%~ni"=="%~n0" (
ren "%%i" "!a!.jpg"
set/a a+=1
)
)
文件保存为batRename.cmd,然后运行。
该处理命令可以自动重命名当前文件夹下的jpg文件,并自动添加序号。
这个命令是从网络上复制过来,请问哪位大侠可以解释一下命令的含义。 展开
set a=1
for /f "delims=" %%i in ('dir /b *.jpg') do (
if not "%%~ni"=="%~n0" (
ren "%%i" "!a!.jpg"
set/a a+=1
)
)
文件保存为batRename.cmd,然后运行。
该处理命令可以自动重命名当前文件夹下的jpg文件,并自动添加序号。
这个命令是从网络上复制过来,请问哪位大侠可以解释一下命令的含义。 展开
1个回答
展开全部
把set a=1 这行后有一个空格 删去它就解决了
dir /b *.jpg 为列出当前位置所有jpg文件 整体for 是用%%i作变量代表所列内容的每一行循环执行do后的命令
if not "%%~ni"=="%~n0"如果文件主名不等于本批处理文件主名(这个是不必要的本来就没列bat文件)
ren ....是重命名
set/a a+=1 是让变量a自增1
可以简化一下
@echo off&setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir/b *.jpg') do (
set/a a+=1
ren "%%i" !a!.jpg)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询