中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 14:09
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 请高手帮忙看看
可打印版本  607 / 1
第1楼 gigigaga 发表于 2007-03-06 05:50
新手上路 发帖 3 积分 12
请高手帮忙看看
我是新手,从本网下拷也一段批处理代码,用作文本文件查找替换工具,但是出了一下问题, 就是如果被替换的文本文件中含有"!" (感叹号) 的话, 替换结束后,里面的感叹号就全都没有了, 但"!"必须得保留, 请问怎样改写如下代码:
@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

请高手帮忙解决, 查了两天了,也没有找到解决办法
第2楼 ccwan 发表于 2007-03-06 06:55
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
用call来实现变量延迟

[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023