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

[文本处理] [已解决]批处理中为什么要用4个尖号?

情况是这样的,我的目的就是要在dirconfig.ini中加入引号里面这句“gf=!gf!    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^。
代码如下:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p gf=
  4. echo gf=!gf!    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^^^。>dirconfig.ini
复制代码
如果我把
echo gf=!gf!    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^^^。>dirconfig.ini”改为“echo gf=!gf!    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^。>dirconfig.ini
则dirconfig.ini中的内容为:“gf=    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加。
也就是说并没有达到我的目的。
我就是想问下,为什么在脚本中“^^^^”能获得我需要的效果,“^^”则不能?
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

请问楼主能看懂你自己在说些什么吗?
***共同提高***

TOP

还是把完整代码拿出来,解决的可能会更好
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set /p gf=
  3. set "str=gf=!gf!    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^。"
  4. echo !str!>a.txt
  5. start a.txt
复制代码

[ 本帖最后由 batman 于 2011-3-9 13:23 编辑 ]
***共同提高***

TOP

谢谢版主的回复,可惜的答非所问。

TOP

楼主的代码只是写入到dirconfig.ini,压根没说你所谓“我需要的效果”是怎么回事,谁知道你引用dirconfig.ini的时候是什么情况

TOP

回复 5楼 的帖子

你仔细看看,是不是答非所问?
***共同提高***

TOP

回复 6楼 的帖子

应该是显示一个转义字符吧,但是不明白的是版主的代码已经达到了目的啊。我所使用的系统是XP SP2的
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

代码确实已经达到目的了,但是代码里面需要4个^,理论两个就可以解决问题。所以疑惑的是问题解决的这么奇怪。

TOP

看看这个吧
  1. @echo off
  2. set /p gf=
  3. echo gf=%gf%    ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^.>dirconfig.INI
  4. pause
复制代码
这里不用延时
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

划分语块时进行一次预处理,^^^^变成^^,实际执行echo时因为有!所以进行第二次预处理^^变成^

[ 本帖最后由 zm900612 于 2011-3-9 15:33 编辑 ]
1

评分人数

TOP

回复 11楼 的帖子

非常对,类似于二次扩展
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

感谢zm900612,问题解决。

TOP

返回列表