我是新手,从本网下拷也一段批处理代码,用作文本文件查找替换工具,但是出了一下问题, 就是如果被替换的文本文件中含有"!" (感叹号) 的话, 替换结束后,里面的感叹号就全都没有了, 但"!"必须得保留, 请问怎样改写如下代码:
@echo on
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (a.txt) do (
set var=%%i
set "var=!var:aaa=111!"
set "var=!var:bbb=222!"
set "var=!var:ccc=333!"
echo !var!>>aaa.txt
)
a.txt 内容:
!aaa
!!!bbb!!!
!a!b!c
aaabbbccc1!!bbb
成功替换后的文本aaa.txt应当为:
!111
!!!222!!!
!a!b!c
1112223331!!222
但实际上为:
111
ECHO 处于打开状态。
bc
1112223331222
请高手帮忙解决, 查了两天了,也没有找到解决办法
@echo on
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (a.txt) do (
set var=%%i
set "var=!var:aaa=111!"
set "var=!var:bbb=222!"
set "var=!var:ccc=333!"
echo !var!>>aaa.txt
)
a.txt 内容:
!aaa
!!!bbb!!!
!a!b!c
aaabbbccc1!!bbb
成功替换后的文本aaa.txt应当为:
!111
!!!222!!!
!a!b!c
1112223331!!222
但实际上为:
111
ECHO 处于打开状态。
bc
1112223331222
请高手帮忙解决, 查了两天了,也没有找到解决办法
