![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 00:53 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]字符串或文本中的感叹号如何替换? |
| 可打印版本 839 / 8 |
| 第1楼 lqh123108 | 发表于 2008-12-25 21:50 |
| 初级用户 发帖 24 积分 30 | |
|
[已结]字符串或文本中的感叹号如何替换? 现有字符串
如何替换成 "真好呀@@@" 这是我的测试代码: [ Last edited by HAT on 2008-12-26 at 10:45 ] |
|
| 第2楼 HAT | 发表于 2008-12-25 21:53 |
| 版主 发帖 5,017 积分 9,023 | |
set /? |
|
| 第3楼 lqh123108 | 发表于 2008-12-25 22:02 |
| 初级用户 发帖 24 积分 30 | |
|
帮我再看看,文本中怎么不行? 多谢了
为什么我直接在CMD窗口中行的 如果该字符串是在文本中,我用FOR去读取,再替换,怎么不成?? |
|
| 第4楼 HAT | 发表于 2008-12-25 22:03 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 3楼 把你的完整代码、详细问题描述更新到顶楼
|
|
| 第5楼 lqh123108 | 发表于 2008-12-25 22:05 |
| 初级用户 发帖 24 积分 30 | |
Originally posted by HAT at 2008-12-25 22:03: 文本的内容就只有上面这个字符串呀! |
|
| 第6楼 HAT | 发表于 2008-12-25 22:11 |
| 版主 发帖 5,017 积分 9,023 | |
| 第7楼 lqh123108 | 发表于 2008-12-25 22:42 |
| 初级用户 发帖 24 积分 30 | |
|
还是得不到结果 认真看了一下,学了不少!
有些地方还是不太懂!! 但测试来测试去,还是不得解,这代码到底该怎么写呀? ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() for /f %%a in (1.txt) do ( set "str=%%a" setlocal ENABLEDELAYEDEXPANSION set str=!str:^!=@! echo !str! pause) [ Last edited by lqh123108 on 2008-12-25 at 22:44 ] |
|
| 第8楼 moniuming | 发表于 2008-12-25 23:28 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
[ Last edited by moniuming on 2008-12-25 at 23:33 ] |
|
| 第9楼 lqh123108 | 发表于 2008-12-26 10:43 |
| 初级用户 发帖 24 积分 30 | |
|
多谢猫兄的指点
![]() 谢了 针对文件通过! OK! for /f "delims=" %%a in (1.txt) do ( set "str=%%a" call set "str=%%str:!=@%%" call echo.%%str%% ) pause>nul&goto :eof 看来,文本中的感叹号的替换不能启用变量延迟,而应该使用跳出循环的办法,防止歧义! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |