![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-25 15:00 |
共 47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,262 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [提问]bat中转向输出问题 |
| 可打印版本 1,752 / 6 |
| 第1楼 electronixtar | 发表于 2006-06-28 14:49 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
[提问]bat中转向输出问题 1.
echo a>D:\a,txt 结果生成了文件a,内容为test,txt 改成 echo a>"D:\a,txt" 正常 2. echo test 1>1.txt adsfadf 生成1.txt,内容: test adsfadf 这些现象怎么解释呢? 如果用这些特性输出exe木马那么…… [ Last edited by electronixtar on 2006-6-28 at 14:51 ] |
|
| 第2楼 bagpipe | 发表于 2006-06-28 15:24 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
echo hello world>1.txt
echo >1.txt hello world echo hello>1.txt world >1.txt echo hello world 看看这个,也许你就会明白了.................... |
|
| 第3楼 electronixtar | 发表于 2006-06-28 17:02 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
难道说那些重定向像ANSI转义代码那样被忽略了??
|
|
| 第4楼 willsort | 发表于 2006-06-29 09:53 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re electronixtar:
这是由 cmd/command 的命令行预处理机制造成的。 命令行解释器在正式执行读入的一条命令之前,会进行许多预处理过程,以对其中的转义符号进行转义解释和过滤,并完成命令行的格式化工作,包括空格和制表符缩减,命令行参数界分,IO端口的重定向等等。 而命令行中的各种符号存在优先级,也就是说,它总是先处理优先级最高的符号,待将符号处理并转义后,将此符号滤去再处理新得到的命令行,带到所有的特殊符号都被处理后,才会正式执行最后得到的命令语句。这在一些语言的预编译或预处理过程中也比较常见。 比如说,命令行前后和之间的空格和制表符就具有很高的优先级,它具有界分命令和参数的作用;而表征变量的百分号%、表征字符串得引号对""也具有比较高的优先级,比管道和重定向都要高。另外,cmd中引入的表征单字符的^、表征变量延迟的叹号对!!,容纳语句块的括号对(),连接命令的&、&&、||等,使得命令行的优先级更加丰富,也更加复杂。 |
|
| 第5楼 electronixtar | 发表于 2006-06-29 11:38 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
博大精深,受教了~
|
|
| 第6楼 htysm | 发表于 2006-06-30 10:16 |
| 高级用户 发帖 415 积分 866 | |
|
太精彩,又是一个高手过招,
|
|
| 第7楼 xiongwei2624 | 发表于 2006-06-30 14:04 |
| 初级用户 发帖 44 积分 96 来自 深圳 | |
|
厉害,佩服深刻!
学到,慢慢掌握 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |