找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15816|回复: 3

[文本处理] 批处理判断系统版本的变量延迟命令是否可以去掉?

[复制链接]
发表于 2010-10-24 21:11:48 | 显示全部楼层 |阅读模式
@echo off&setlocal enabledelayedexpansion
这个命令加在判断系统版本的代码上面,我想问一下,这一句是否可以去掉?去掉后对批处理的运行有没有影响呢?我暂时还没发现有影响,因为我不是很懂

加上了这个命令,下面有些echo命令,就会echo处于关闭状态了
 楼主| 发表于 2010-10-25 08:36:43 | 显示全部楼层
setlocal enabledelayedexpansion的意思总是弄不明白,知道是延迟的意思,但是还是不明白怎么才算延迟,所以就不知道吧@echo off&setlocal enabledelayedexpansion
去掉对批处理的运行有什么影响
发表于 2010-10-25 11:37:11 | 显示全部楼层
多看教程:批处理中的变量延迟扩展、变量嵌套
http://bbs.bathome.net/thread-2899-1-1.html
发表于 2010-10-25 13:34:25 | 显示全部楼层
P处理的的执行方式是“自上而下,逐条处理”注意这里是“条”而非“行”。
而setlocal enabledelayedexpansion的用处主要体现在复合语句中,例如:
FOR,IF等引导的语句,当然&,&&,|等连接的也是。
关于你所问的举个例子来说明一下吧,如:
  1. set a=b&echo %a%
复制代码
它所显示的是%a%,并不是我们想要的"b"
  1. setlocal enabledelayedexpansion
  2. set a=b&echo !a!
复制代码
此句中的%a%一定要换为!a!,因为它是你的目的,且在复合语句中(也就是说如果不在复合句中可以是%a%,可以灵活运用),如果你只知道这些可能还是不明白,还有预处理机制
关于预处理机制http://www.bathome.net/viewthrea ... 6%C0%ED%BB%FA%D6%C6
以上是我个人的理解,如有不对,请指出,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:00 , Processed in 0.011503 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表