Board logo

标题: 请教让修改&的方法(已解决) [打印本页]

作者: jiulong     时间: 2008-3-26 07:20    标题: 请教让修改&的方法(已解决)
a.txt内容如下:
ppp&abcd &a&8500

批处理脚本如下:
for /f "tokens=*" %%i in ('type a.txt') do (
set var=%%i
set var=%var:^&=^^&%
)
echo %var%
pause


执行结果为:
'ppp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'abcd' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
.......

我想实现的目的是:把&符号前自动加上^符号,因为a.txt文本中的内容是随机的,如果是固定的我手动改就行了。

Last edited by jiulong on 2008-4-15 at 08:29 AM ]

作者: Climbing     时间: 2008-3-26 16:41
... set var="%%i“ set var=!var:&=^&! set var=!var:"=! ... 试试这样吧。

作者: jiulong     时间: 2008-3-26 16:47
'&!' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 !var:"=! 不行啊

作者: Climbing     时间: 2008-3-26 17:13
注意启用延迟环境变量扩展:
setlocal enabledelayedexpansion

Last edited by Climbing on 2008-3-26 at 05:20 PM ]

作者: Climbing     时间: 2008-3-26 17:19
完整的批处理应该类似这样:我没有试批处理,只是在命令行下简单试了一下。cmd的功能太差,特殊字符不好处理。例如在for /f中,你永远无法实现用"(半角双引号)作为分隔符。

作者: jiulong     时间: 2008-4-10 07:44
'&' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 "var:" "var:" 还是不行类。

作者: lxmxn     时间: 2008-4-13 07:01
试试下面这个?