[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

回复楼上

多谢楼上的回复,不过你说的只是结果,对于编程的人结果不是最重要的,过程才是最重要的。渔和鱼哪个重要?来龙去脉搞不清楚的话以后还是会出问题的。你这个解释法只是有意忽略本质看现象,不是透过现象看本质。
Still with wax

TOP

这样说吧,其实大家都没有认真去看帖子也没有认真的当回事来想。也怪我自己对问题陈述不清楚吧。
首先在开启变量延迟的情况下,代码如果这样:echo !^^^^^>,第一次预处理后得到echo !^^>,这一步好理解。接下来呢,就出现不同的解释:1.第一个^被忽视,抛弃,就是说上面第一步得到的结果中的第二个与>经过第一预处理后都被当成普通字符显示,第一个^被丢掉;2.照非常批处理里面一个人对英雄帖子的回复说法来看,预处理是从左至右逐个处理字符的,那么势必第一个^转义第二个^得到一个^,后面的>咋办,它落单了,是抛弃还是直接当作普通字符显示? 3.基于第二种情况和最终的显示结果,>没有被抛弃,那就说明它经过第一次预处理之后就被当作了普通字符,可是这样的话又矛盾了,它前面的俩^不都是经过第一次预处理以后得到的么?那也应该被当作普通字符一块显示出来才对啊?除非^相比>或者其他特殊字符更特殊,有更蹊跷而独特、专有的法则。
第一次预处理后得到echo !^^>,再预处理执行以后就显示^>,但是如果我们就直接输入命令echo !^^>回车的话就提示命令格式不对。it doesn't make sense.
还请各位大侠多多释疑,小弟在此感激涕零。

[ 本帖最后由 Lumiere 于 2009-3-27 10:05 编辑 ]
Still with wax

TOP

回复 17楼 的帖子

你就当做 ^ 永远是转义字符,再加上7楼的解释,这样就可以解释所有。然后把这个问题放一放,或许以后会明白。
1

评分人数

TOP

返回列表