批处理高手帮忙解释两个问题

1:FOR/F变量中的"DELIMS="和"DELIMS="还有"DELIMS=*"有什么区别??2:有些变量中的%有时写成!为什么呢?比如:setlocalENABLE... 1:FOR /F变量中的"DELIMS="和"DELIMS= "还有"DELIMS=*"有什么区别??

2:有些变量中的%有时写成!为什么呢?比如:
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in ('dir/b *.jpg') do (
set a=%%~ni
ren "%%i" "!a:~0,-2!.jpg")

请详细解释上面的代码!!!
展开
 我来答
喵星大魔王
2009-01-05 · TA获得超过1145个赞
知道小有建树答主
回答量:572
采纳率:0%
帮助的人:706万
展开全部
第一个问题314ccp有回答,我就不再说了。

setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%i in ('dir/b *.jpg') do (
set a=%%~ni
ren "%%i" "!a:~0,-2!.jpg")

1、setlocal ENABLEDELAYEDEXPANSION
变量延迟[凡是要在for语句后,再次调用你原先定义的变量,你就要用变量延迟。]
2、for /f "delims=" %%i in ('dir/b *.jpg') do (
for /f [循环]
delims=[变量的分隔符]
dir [DOS操作系统用来查看磁盘中文件的命令]
/b 使用空格式(没有标题信息或摘要)。[dir的参数,可以使用dir/?来查看。]
*.jpg [后缀名为.jpg的所有文件]
do ( [动作,如果满足条件]
3、set a=%%~ni
[给变量a赋值为'dir/b *.jpg'中的文件名(不包括后缀)]
4、ren "%%i" "!a:~0,-2!.jpg")
ren [重命名]
"%%i" "!a:~0,-2!.jpg" [*.jpg的名字改为文件名中从第一个字符到倒数第2个字符,如果是~0,-3就是0到倒数第3个,如果是~0,-1就是不做改变]
314ccp
2009-01-04 · TA获得超过5625个赞
知道大有可为答主
回答量:1497
采纳率:0%
帮助的人:2139万
展开全部
1、分别是表示没有分隔符,以空格为分隔符,以*为分隔符~

2、http://hi.baidu.com/7764sky/blog/item/b47d6e10771a5d04203f2efa.html

虽然是粘贴,但怕我说的不够具体,你还是去看看专家的吧`~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式