有一个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文件,并自动添加序号。
这个命令是从网络上复制过来,请问哪位大侠可以解释一下命令的含义。
展开
 我来答
yyykkkyyyy
推荐于2017-11-26 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3326万
展开全部

把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)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式