Board logo

标题: [文本处理] 批处理for语句中开启变量延迟的意义是什么? [打印本页]

作者: 悬崖之树    时间: 2012-12-4 21:28     标题: 批处理for语句中开启变量延迟的意义是什么?

  1. @echo off
  2. for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
  3.   set "Name=%%~na"
  4.   setlocal enabledelayedexpansion
  5.   set "Name1=000000!Name!"
  6.   ren "!Name!%%~xa" "!Name1:~-6!%%~xa"
  7.   endlocal
  8. )
  9. pause
复制代码
如果把 setlocal enabledelayedexpansion 放在开头和上面的效果有什么区别?
作者: weichenxiehou    时间: 2012-12-4 22:15

回复 1# 悬崖之树
如果放在最开始,文件名中的感叹号会被去掉。。。
作者: Batcher    时间: 2012-12-5 11:01

http://www.bathome.net/thread-4580-1-1.html
作者: hlzj88    时间: 2012-12-5 22:47

本帖最后由 hlzj88 于 2012-12-5 22:54 编辑

http://www.bathome.net/viewthrea ... mp;page=1#pid121028
看该贴的我的回复 要是还不明白 我也没办法

不过我的只是简单说明 不比版主链接的深奥




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2