
标题: [原创]用\\?\CdRom0 判断光驱是否可用(2006-12-6 修订版) [打印本页]
作者: electronixtar 时间: 2006-12-5 07:11 标题: [原创]用\\?\CdRom0 判断光驱是否可用(2006-12-6 修订版)
按照以前的思路,调用 fsutil 需要管理员权限,而且必须是 XP Pro,兼容性不好。我研究了另外一种简洁的方法:CODE: [Copy to clipboard]
copy \\.\CdRom0\* nul >nul 2>nul && echo OK || echo NO
CdRom0 就是你的系统里的第一个光驱啦,类推 CdRom1 CdRom2 等
光驱可用就显示 OK,没有就显示 NO
=========2006-12-6 修订版==========CODE: [Copy to clipboard]
if exist \\?\CdRom0\* (echo OK) else (echo NO)
请大家再帮忙测试
[ Last edited by electronixtar on 2006-12-7 at 05:12 AM ]
作者: redtek 时间: 2006-12-5 07:14
欣赏electronixtar兄大作~~:)
顶!!!
作者: electronixtar 时间: 2006-12-5 07:15
什么大作哦,不过你抢沙发太快啦
作者: anqing 时间: 2006-12-5 07:15
佩服
作者: electronixtar 时间: 2006-12-5 07:21
代码还有点问题,再试试~
作者: lxmxn 时间: 2006-12-5 11:21
恩,把con改成nul就没有临时文件产生了。
作者: weapfe 时间: 2006-12-5 14:16
不知道哪位達人可以為小蝦們講解一下先~~~期待中。。。。
作者: ccwan 时间: 2006-12-5 20:42
欣赏……
electronixtar兄厉害。
作者: kcdsw 时间: 2006-12-7 02:11
怎么没人继续研究了?
作者: redtek 时间: 2006-12-7 02:29
electronixtar兄研究的方法用在COPY文件上也非常实用~:)
不需要知道光盘是哪个驱动器,只要知道要COPY光盘上的文件到哪里就行~:)CODE: [Copy to clipboard]
XCOPY /S \\?\cdrom0\. C:\某某某目录
体会它的不同用处:
) 在不知道CDROM驱动器盘符的情况下,判断是否插入了光盘。
) 在不知道……………………………情况下,COPY光盘文件到指定地点。
) 在不知道……………………………情况下,COPY第n个CDROM驱动器内的光盘文件到指定地点。
) 印证系统有多少个CDROM驱动器,以备它用。
) 在代码中增加了代码的兼容性能与简单文件操作结构。
) ……
[ Last edited by redtek on 2006-12-6 at 01:39 PM ]
作者: 0401 时间: 2006-12-7 04:42
这个方法确实是挺另类的,请问electronixtar兄,在哪里可以找到这方面的资料,比如这里涉及的 "\\.\CDROM0" 这样路径?
还有这个命令有个缺点,如果光盘中没有文件,只有目录,那这个命令就无效了。
我一开始就一直NO,NO,NO。。。后来换张盘才发现原来先前的光盘中只有目录。
作者: electronixtar 时间: 2006-12-7 05:07
| Quote: |
| 在哪里可以找到这方面的资料,比如这里涉及的 "\\.\CDROM0" 这样路径? |
|
又是 Sysinternals 的一款大作:WinObj
作者: ccwan 时间: 2006-12-7 05:34
我感觉下面的代码就很有用,我的光驱为I盘CODE: [Copy to clipboard]
@echo off
if exist i:\nul.ext (echo 有光盘) else (echo 无光盘)
pause>nul
作者: 0401 时间: 2006-12-7 05:41
恩,IF表现得挺优秀的。
我把"\\?\"中的问号替换为"."就不行,为什么?
| Quote: |
| 是 Sysinternals 的一款大作:WinObj |
|
东西是找到了,就是看不懂...
作者: tao0610 时间: 2006-12-7 05:45
不错.
作者: electronixtar 时间: 2006-12-7 05:48
你的代码到了其他人的机器上也能兼容么?
| Quote: |
恩,IF表现得挺优秀的。
我把"\\?\"中的问号替换为"."就不行,为什么? |
|
执行 mountvol 就明白一些了
作者: ccwan 时间: 2006-12-7 06:16
汗……
下次不敢说话了
作者: 0401 时间: 2006-12-7 06:30
是明白一些了
作者: electronixtar 时间: 2006-12-7 06:31
哎呀,我不是批评你的意思啦,我只是讨论下嘛。或许我的语气太重了,见谅见谅~~~
作者: vkill 时间: 2006-12-8 06:13
C:\Documents and Settings\abc>if exist \\?\CdRom0\* (echo OK) else (echo NO)
NO
我的可以用啊~怎么?
作者: redtek 时间: 2007-1-31 07:04
又见到传说中的精彩帖子了,欣赏+狂顶~~`
作者: Jneny 时间: 2007-1-31 11:58
高手过招太精彩了,路径表示的方法有什么规定吗, 好奇特的表示方法哦,
作者: quya 时间: 2008-5-28 21:52
最简单的办法是CODE: [Copy to clipboard]
dir \\.\CdRom0\\>nul 2>nul && echo OK || echo NO
这个是 26933062 会员的思路, 不敢掠美。
是由我的一个问题帖子引起的, 原帖见 http://www.cn-dos.net/forum/view ... ge=1&highlight=
[ Last edited by quya on 2008-6-30 at 06:52 PM ]
作者: xingsys 时间: 2009-4-12 11:49
太好了,解决了我一个大问题,ghost刻盘之后自动寻找光驱之的中文件并执行
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) |
Powered by Discuz! 2.5 |