![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 14:20 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 本人发现转义符^一个有趣现象 |
| 可打印版本 943 / 6 |
| 第1楼 stornager | 发表于 2007-05-13 22:50 |
| 中级用户 发帖 131 积分 328 | |
|
本人发现转义符^一个有趣现象 @echo off
color 1f echo ^|^^^^^^^^^^^^^^^^^^^^|^>nul^ echo ^######################>nul^ echo ^!!!I love bach!!!^ echo ^######################>nul^ echo ^|^^^^^^^^^^^^^^^^^^^^^>nul^ pause>nul 请各位兄测试一下这个代码,你将回看到什么..... |
|
| 第2楼 lxmxn | 发表于 2007-05-14 00:14 |
| 版主 发帖 4,938 积分 11,386 | |
|
测试发现生成一个空文本文件 nulecho ,提示
|
|
| 第3楼 stornager | 发表于 2007-05-14 14:13 |
| 中级用户 发帖 131 积分 328 | |
|
请问版主为什么会生成一个空文本文件 nulecho ??我觉得“^”好象能使”echo“回显。
[ Last edited by stornager on 2007-5-14 at 02:17 PM ] |
|
| 第4楼 lxmxn | 发表于 2007-05-14 14:29 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by stornager at 2007-5-14 14:13: 我自己也不清楚为什么会生成这个空文件; 关于特殊符号和管道符一起产生的“奇怪”的现象,一直没有弄清楚,可能 willsort 有过这方面的分析,你可以搜索一下。 |
|
| 第5楼 flyinspace | 发表于 2007-05-14 14:43 |
| 银牌会员 发帖 517 积分 1,206 | |
Originally posted by stornager at 2007-5-14 02:13 PM: 很简单的原因啊? 请问 nul 后面的是什么?是回车?? 那么使用了转义字符后就让回车无效了。。 即:nul变成了 nulecho了。。 另外,若要理解转义字符。。请测试;: ^^ ^^^ ^^^| 的作用。 |
|
| 第6楼 stornager | 发表于 2007-05-14 17:24 |
| 中级用户 发帖 131 积分 328 | |
|
请5楼分析下面代码运行的结果为何没有I love batch!
@echo off echo ^|^ echo I love batch!^ echo ^|^ echo %time% >a.txt^ ping -n 2 127.1>nul&pause>nul |
|
| 第7楼 lxmxn | 发表于 2007-05-14 17:47 |
| 版主 发帖 4,938 积分 11,386 | |
|
To stornager:
根据5楼 flyinspace 兄的解释,对于行尾的 ^ 符号,它将把一行末尾的回车符转义,也就是让回车符失去原本已有的作用,换句话说,就是让回车符失去换行的作用,这样,每行末尾的 ^ 符号将在echo命令的作用下,将几行原本在不同行的文本“连接”成一行。但是由于你 ping 命令后面的>nul,导致echo命令本应该输出到原来文本的字符串重定向到空设备了,这样,你就无法看见你认为会出现的结果了。 修改一下代码之后,就可以显示出来了。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |