中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 06:25
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎样把文本中的$符号全部替换成感叹号 查看 797 回复 9
楼 主 [求助]怎样把文本中的$符号全部替换成感叹号 发表于 2007-10-31 11:40 ·  中国 四川 成都 郫都区 电信
初级用户
积分 62
发帖 24
注册 2007-03-17 09:34
19年会员
UID 82057
性别 男
状态 离线
如题.想把文本中的$符号全部替换成感叹号.请问怎样实现 ? 谢了.自己写了一个其它字符可以替换,就感叹号不能替换.
setlocal EnableDelayedExpansion
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
set mx=!mx:$=!!
echo !mx!>>2.txt
)

望指点
2 发表于 2007-10-31 11:59 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
call echo %%mx:$=!%%
)
3 发表于 2007-10-31 12:20 ·  中国 浙江 杭州 电信
高级用户
★★
积分 537
发帖 219
注册 2007-08-04 09:43
19年会员
UID 94620
性别 男
来自 杭州--半山
状态 离线
sed s/\$/!/g" 1.txt
4 发表于 2007-10-31 12:25 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
sed "/\$/ s//!/g" 1.txt

速度要快些
5 发表于 2007-10-31 12:25 ·  中国 浙江 杭州 电信
新手上路
积分 3
发帖 2
注册 2007-06-23 12:08
19年会员
UID 92137
性别 男
状态 离线
sed 在.bat文件中不能用啊。
6 发表于 2007-10-31 12:27 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
Originally posted by gadmyth at 2007-10-31 12:25 PM:
sed 在.bat文件中不能用啊。


??

有什么错误??

sed是第三方命令行工具,不是WINDOWS系统自带的。
7 发表于 2007-10-31 12:48 ·  中国 四川 成都 郫都区 电信
初级用户
积分 62
发帖 24
注册 2007-03-17 09:34
19年会员
UID 82057
性别 男
状态 离线
Originally posted by abcd at 2007-10-31 11:59:
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
call echo %%mx:$=!%%
)

如果里面有多个不同的字符需要替换,请问又该怎样处理.能同时处理吗??
如还想把里面的?都改成*
8 发表于 2007-10-31 13:34 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,436
发帖 739
注册 2007-10-11 17:44
18年会员
UID 99469
性别 男
状态 离线
有多个不同的字符需要替换的话,就多set几次就行了。
for /f "eol=  delims=" %%b in (1.txt) do (
set mx=%%b
call set "mx=%%mx:$=!%%"
call set "mx=%%mx:?=*%%"
call echo "%%mx%%"
)
9 发表于 2007-10-31 13:43 ·  中国 江苏 苏州 电信
新手上路
积分 14
发帖 5
注册 2007-10-30 18:04
18年会员
UID 101206
性别 男
状态 离线
大家都是高手呀
佩服
10 发表于 2007-10-31 13:57 ·  中国 广东 江门 新会区 电信
初级用户
★★
积分 117
发帖 57
注册 2007-10-23 20:57
18年会员
UID 100584
性别 男
状态 离线
低于7.1版本的dos不能用 for /f
论坛跳转: