标题: [文本处理] [已解决]批处理中为什么要用4个尖号? [打印本页]
作者: whntk 时间: 2011-3-9 11:51 标题: [已解决]批处理中为什么要用4个尖号?
情况是这样的,我的目的就是要在dirconfig.ini中加入引号里面这句“gf=!gf! ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^。”
代码如下:- @echo off
- setlocal enabledelayedexpansion
- set /p gf=
- echo gf=!gf! ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^^^。>dirconfig.ini
复制代码
如果我把
“echo gf=!gf! ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^^^。>dirconfig.ini”改为“echo gf=!gf! ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^。>dirconfig.ini”
则dirconfig.ini中的内容为:“gf= ;请输入游戏路径,注意:如果路径中有空格,请在空格前加。”
也就是说并没有达到我的目的。
我就是想问下,为什么在脚本中“^^^^”能获得我需要的效果,“^^”则不能?
作者: batman 时间: 2011-3-9 12:26
请问楼主能看懂你自己在说些什么吗?
作者: wc726842270 时间: 2011-3-9 12:43
还是把完整代码拿出来,解决的可能会更好
作者: batman 时间: 2011-3-9 13:22
- @echo off&setlocal enabledelayedexpansion
- set /p gf=
- set "str=gf=!gf! ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^。"
- echo !str!>a.txt
- start a.txt
复制代码
[ 本帖最后由 batman 于 2011-3-9 13:23 编辑 ]
作者: whntk 时间: 2011-3-9 13:42
谢谢版主的回复,可惜的答非所问。
作者: CrLf 时间: 2011-3-9 14:28
楼主的代码只是写入到dirconfig.ini,压根没说你所谓“我需要的效果”是怎么回事,谁知道你引用dirconfig.ini的时候是什么情况
作者: batman 时间: 2011-3-9 14:38 标题: 回复 5楼 的帖子
你仔细看看,是不是答非所问?
作者: wc726842270 时间: 2011-3-9 15:07 标题: 回复 6楼 的帖子
应该是显示一个转义字符吧,但是不明白的是版主的代码已经达到了目的啊。我所使用的系统是XP SP2的
作者: whntk 时间: 2011-3-9 15:13
代码确实已经达到目的了,但是代码里面需要4个^,理论两个就可以解决问题。所以疑惑的是问题解决的这么奇怪。
作者: wc726842270 时间: 2011-3-9 15:31
看看这个吧- @echo off
- set /p gf=
- echo gf=%gf% ;请输入游戏路径,注意:如果路径中有空格,请在空格前加^^.>dirconfig.INI
- pause
复制代码
这里不用延时
作者: CrLf 时间: 2011-3-9 15:32
划分语块时进行一次预处理,^^^^变成^^,实际执行echo时因为有!所以进行第二次预处理^^变成^
[ 本帖最后由 zm900612 于 2011-3-9 15:33 编辑 ]
作者: wc726842270 时间: 2011-3-9 15:33 标题: 回复 11楼 的帖子
非常对,类似于二次扩展
作者: whntk 时间: 2011-3-9 15:35
感谢zm900612,问题解决。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |