中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎样把文本中的$符号全部替换成感叹号
作者:
标题: [求助]怎样把文本中的$符号全部替换成感叹号 上一主题 | 下一主题
enliang
初级用户





积分 62
发帖 24
注册 2007-3-17
状态 离线
『楼 主』:  [求助]怎样把文本中的$符号全部替换成感叹号

如题.想把文本中的$符号全部替换成感叹号.请问怎样实现 ? 谢了.自己写了一个其它字符可以替换,就感叹号不能替换.
setlocal EnableDelayedExpansion
for /f "eol=  delims=" %%b in (1.txt) do (
                           set mx=%%b
                           set mx=!mx:$=!!
                           echo !mx!>>2.txt
)

望指点

2007-10-31 11:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

for /f "eol=  delims=" %%b in (1.txt) do (
                           set mx=%%b
                           call echo %%mx:$=!%%
)

2007-10-31 11:59
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
junchen2
高级用户





积分 537
发帖 219
注册 2007-8-4
来自 杭州--半山
状态 离线
『第 3 楼』:  

sed s/\$/!/g" 1.txt

2007-10-31 12:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 4 楼』:  

sed "/\$/ s//!/g" 1.txt

速度要快些

2007-10-31 12:25
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
gadmyth
新手上路





积分 3
发帖 2
注册 2007-6-23
状态 离线
『第 5 楼』:  

sed 在.bat文件中不能用啊。

2007-10-31 12:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by gadmyth at 2007-10-31 12:25 PM:
sed 在.bat文件中不能用啊。

??

有什么错误??

sed是第三方命令行工具,不是WINDOWS系统自带的。

2007-10-31 12:27
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
enliang
初级用户





积分 62
发帖 24
注册 2007-3-17
状态 离线
『第 7 楼』:  



  Quote:
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:$=!%%
)

如果里面有多个不同的字符需要替换,请问又该怎样处理.能同时处理吗??
如还想把里面的?都改成*

2007-10-31 12:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 8 楼』:  

有多个不同的字符需要替换的话,就多set几次就行了。
for /f "eol=  delims=" %%b in (1.txt) do (
                           set mx=%%b
                           call set "mx=%%mx:$=!%%"
                           call set "mx=%%mx:?=*%%"
                           call echo "%%mx%%"
)


2007-10-31 13:34
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
kxy0126
新手上路





积分 14
发帖 5
注册 2007-10-30
状态 离线
『第 9 楼』:  

大家都是高手呀
佩服

2007-10-31 13:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jojand
初级用户





积分 117
发帖 57
注册 2007-10-23
状态 离线
『第 10 楼』:  

低于7.1版本的dos不能用 for /f

2007-10-31 13:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: