中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 07:26
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]怎样把文本中的$符号全部替换成感叹号
可打印版本  798 / 9
第1楼 enliang 发表于 2007-10-31 11:40
初级用户 发帖 24 积分 62
[求助]怎样把文本中的$符号全部替换成感叹号
如题.想把文本中的$符号全部替换成感叹号.请问怎样实现 ? 谢了.自己写了一个其它字符可以替换,就感叹号不能替换.
setlocal EnableDelayedExpansion
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
set mx=!mx:$=!!
echo !mx!>>2.txt
)

望指点
第2楼 abcd 发表于 2007-10-31 11:59
银牌会员 发帖 739 积分 1,436
for /f "eol= delims=" %%b in (1.txt) do (
set mx=%%b
call echo %%mx:$=!%%
)
第3楼 junchen2 发表于 2007-10-31 12:20
高级用户 发帖 219 积分 537 来自 杭州--半山
sed s/\$/!/g" 1.txt
第4楼 abcd 发表于 2007-10-31 12:25
银牌会员 发帖 739 积分 1,436
sed "/\$/ s//!/g" 1.txt

速度要快些
第5楼 gadmyth 发表于 2007-10-31 12:25
新手上路 发帖 2 积分 3
sed 在.bat文件中不能用啊。
第6楼 abcd 发表于 2007-10-31 12:27
银牌会员 发帖 739 积分 1,436
Originally posted by gadmyth at 2007-10-31 12:25 PM:
sed 在.bat文件中不能用啊。


??

有什么错误??

sed是第三方命令行工具,不是WINDOWS系统自带的。
第7楼 enliang 发表于 2007-10-31 12:48
初级用户 发帖 24 积分 62
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楼 abcd 发表于 2007-10-31 13:34
银牌会员 发帖 739 积分 1,436
有多个不同的字符需要替换的话,就多set几次就行了。
第9楼 kxy0126 发表于 2007-10-31 13:43
新手上路 发帖 5 积分 14
大家都是高手呀
佩服
第10楼 jojand 发表于 2007-10-31 13:57
初级用户 发帖 57 积分 117
低于7.1版本的dos不能用 for /f
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023