标题: set不能替换
[打印本页]
作者: alfried
时间: 2007-10-6 22:22
标题: set不能替换
for /f %s in (1.txt) do set a=%s:1=6%
1.txt的内容是12345678
我想把1换成6
可是执行以后1.txt的内容没有发生任何变化
也没有提示错误~~~~
是那里错了呢~~~
作者: lxmxn
时间: 2007-10-7 02:47
set a=%s:1=6% 这里的s是指的变量,而for里面的是“%s”,而不是s,所以需要先把%s赋值给一个变量str,再来set a=%str:1=6%,如果在for命令里面替换,注意变量延迟。
作者: alfried
时间: 2007-10-7 18:38
麻烦你再看看是这样么?
for /f %s in (1.txt) do echo %s
set ser=%s
set a=%ser:1=6%
还是不行~~~~~
谢谢
作者: 不得不爱
时间: 2007-10-7 18:45
问题是你把替换后的结果写入1.txt了吗?
for /f %%s in (1.txt) do set ser=%%s
echo %ser:1=6%>1.txt
作者: alfried
时间: 2007-10-7 20:58
我用版主的办法试了,已经好了~~~太感谢了
for /f "delims=" %s in (1.txt) do set ser=%s
echo %ser:2=6%>1.txt
用两个%%报错,一个就可以