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

[其他] 【已解决】在变量延迟打开的情况下如何输出感叹号

[复制链接]
发表于 2008-9-26 21:08:03 | 显示全部楼层 |阅读模式
在变量延迟打开的情况下,如何输出"!"???

[ 本帖最后由 yslyxqysl 于 2008-9-29 10:26 编辑 ]
发表于 2008-9-26 21:40:16 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo ^^!
  4. pause
复制代码
发表于 2008-9-26 21:52:53 | 显示全部楼层

batcher大师,我想问下 ^^是什么东西

我知道^的意思是取消特殊字符的意思,那^^的意思是什么呀?
请告诉我啊?

当我运行
  1. setlocal enabeldayedexpansion
  2. echo !
复制代码
出现 echo处于关闭状态,为什么啊?
为什么

  1. setlocal enabeldayedexpansion
  2. echo  ^^!
复制代码
echo ^^ 就出现那个符号啊?
大家讨论下,谢谢了,谢谢了batcher


[ 本帖最后由 lixiaodaoaaa 于 2008-9-26 21:53 编辑 ]
发表于 2008-9-26 22:39:31 | 显示全部楼层
命令解释器(当然一般就是CMD了)读取批处理文件时预处理一次,^对自己转义,变成了echo ^!,由于启用了变量延迟,而该语句含有敏感字符!,执行到该语句时要再处理一次,^将!转义成普通字符,结果就输出!

即所谓的“预处理机制”,前辈们早已讨论透彻,去翻翻老贴
发表于 2008-9-27 08:59:33 | 显示全部楼层

我还是云里雾里

原帖由 zqz0012005 于 2008-9-26 22:39 发表
命令解释器(当然一般就是CMD了)读取批处理文件时预处理一次,^对自己转义,变成了echo ^!,由于启用了变量延迟,而该语句含有敏感字符!,执行到该语句时要再处理一次,^将!转义成普通字符,结果就输出!

即所谓的 ...

既然,^将!转义成普通字符,结果就输出!
为什么要两个^ ??

一个已经将起转换成普通字符了!那要两个 “^”起什么作用。解释下。
  1. setlocal enabeldayedexpansion
  2. echo    ^!
复制代码

这样也会报错,为什么汗。。。。。。。。。。
我说的是为什么要两个^
到底是为什么,

评分

参与人数 1PB +2 收起 理由
yslyxqysl + 2 非常好学

查看全部评分

发表于 2008-9-27 09:46:19 | 显示全部楼层
^^!
可以理解为第一次预处理时,!只是一个普通字符,,^^会脱去一个,第一个^转义第二个^。有第二次预处理是因为开启了延迟,会把第一次预处理留下的^当作转义字符,用来转义!。简单来说就是,第一次预处理,!只是普通字符,第二次预处理,!变成了特殊字符。
如下:
未开启延迟: 预处理1
开启延迟  : 预处理1、预处理2。
“预处理1”----在每个开启延迟的,或未开启延迟的批处理中,都会进行,在两个模式中,“预处理1”的运行机制是完全一样的。
只需记住,!只有在开启了延迟之后,才算特殊字符,第一次预处理时,!仅是一个普通字符,有第二次预处理,是因为开启了延迟。

[ 本帖最后由 pusofalse 于 2008-9-27 09:50 编辑 ]

评分

参与人数 1PB +3 收起 理由
lixiaodaoaaa + 3 辛苦了pusofalse

查看全部评分

发表于 2008-9-27 10:30:59 | 显示全部楼层

终于看明白了,

谢谢pusofalse
呵呵,明白了。
发表于 2008-9-28 02:40:53 | 显示全部楼层
setlocal enabeldayedexpansion
echo  ^^!
发表于 2009-4-13 23:12:41 | 显示全部楼层
谢谢楼主,我也知道了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 04:45 , Processed in 0.021828 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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