中国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
状态 离线
『楼 主』:  [求助]怎样把文本中的$符号全部替换成感叹号 使用 LLM 解释/回答一下

如题.想把文本中的$符号全部替换成感叹号.请问怎样实现 ? 谢了.自己写了一个其它字符可以替换,就感叹号不能替换.
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 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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


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





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

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

速度要快些


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





积分 3
发帖 2
注册 2007-6-23
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

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


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





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

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 楼』:   使用 LLM 解释/回答一下

有多个不同的字符需要替换的话,就多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 楼』:   使用 LLM 解释/回答一下

大家都是高手呀
佩服


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





积分 117
发帖 57
注册 2007-10-23
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

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


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

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


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



论坛跳转: