![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 00:47 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]模拟命令行句柄操作(帮助理解句柄复制与备份) |
| 可打印版本 1,030 / 5 |
| 第1楼 qzwqzw | 发表于 2009-06-12 11:55 |
| 银牌会员 发帖 636 积分 2,343 | |
|
[原创]模拟命令行句柄操作(帮助理解句柄复制与备份) 在自己对句柄操作的理解基础上
编写了以下句柄操作模拟代码 大家可以在cmd中挂参数多次运行模拟 看是否符合实际句柄操作后的结果 那么如何判断一个句柄的指向呢 echo 1<&要判定的句柄号 is con 如果显示 con ,那么句柄值为con 否则为nul或者文件 [ Last edited by qzwqzw on 2009-6-13 at 21:12 ] |
|
| 第2楼 s11ss | 发表于 2009-06-13 12:36 |
| 银牌会员 发帖 566 积分 2,098 | |
那么如何判断一个句柄的指向呢 这一段话没看懂 |
|
| 第3楼 qzwqzw | 发表于 2009-06-13 21:11 |
| 银牌会员 发帖 636 积分 2,343 | |
|
更正个键误
echo 1&要判断的句柄号 is con 应该是 echo 1<&要判断的句柄号 is con 它等同于 echo is con 1<&句柄号 举例分析 1<&7 是把句柄7的指向复制给句柄1 而echo 的结果默认是用句柄1输出的 那么如果句柄7指向了con 复制给1后则1也指向con 那么echo的结果会输出在屏幕上 否则不会输出在屏幕上 当然这只是简单判断指向con与非con的办法 具体的办法还需自己再多做测试 [ Last edited by qzwqzw on 2009-6-13 at 21:14 ] |
|
| 第4楼 s11ss | 发表于 2009-06-14 04:32 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by qzwqzw at 2009-6-13 09:11 PM: <& 貌似 与 >& 是一样的,都是把后者句柄复制到前者句柄 |
|
| 第5楼 qzwqzw | 发表于 2009-06-14 21:18 |
| 银牌会员 发帖 636 积分 2,343 | |
|
现在发现 >& 与 <& 唯一的区别
就是左值的缺省值 >&的左值缺省值为1 <&的左值缺省值为0 表现出的效果就是在 echo. >nul 3>nul使句柄1为nul后 echo Hello Handle <&2 无输出 echo Hello Handle >&2 有输出 |
|
| 第6楼 s11ss | 发表于 2009-06-14 23:11 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by qzwqzw at 2009-6-14 09:18 PM: hh ntcmds.chm::/redirection.htm 如果未定义句柄,则默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |