![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 17:47 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何在关机前自动弹出有光盘的光驱 |
| 可打印版本 7,031 / 18 |
| 第1楼 zrz444 | 发表于 2006-08-15 07:24 |
| 新手上路 发帖 6 积分 16 | |
|
如何在关机前自动弹出有光盘的光驱 是这样的:有一个朋友出一个问题.让我做一个批处理.要求是如果光驱里有光盘那个就光不了机器自动弹出,.如果没有光盘在里面可以顺利关机.我对批处理是一窍不 通的.自己乱做做.结果只能关机其他全不对:帮我看一下那儿不对::
@echo off rundll32/ check cdrom echo. if exist cdorm=empty echo 您的光驱没有光盘,可以关机! shutdown otherwise echo 你的光驱里有软盘,系统将自动弹出! open cdrom wait 请将光盘拿出,按任意键继续…… shut down [ Last edited by namejm on 2007-2-3 at 03:59 PM ] |
|
| 第2楼 zrz444 | 发表于 2006-08-15 16:53 |
| 新手上路 发帖 6 积分 16 | |
|
不会吧.这么多高手哪儿去了.
|
|
| 第3楼 zrz444 | 发表于 2006-08-15 18:42 |
| 新手上路 发帖 6 积分 16 | |
|
那么多版主做什么呢.这么冷清清的.......
|
|
| 第4楼 3742668 | 发表于 2006-08-15 23:30 |
| 荣誉版主 发帖 718 积分 2,013 | |
那么多版主做什么呢.这么冷清清的....... 就算是版主也不可能一天24小时在论坛上专门来回贴嘛。 关于你的标题,请参考本版置顶贴进行更改,否则将依惯例进行相应处罚。 给你点提示吧: 大致代码就是这么多,细节方面自行更改。 ps: 俗话说:尺有所短,寸有所长;术业有专攻。也许版主在某个方面比大多数人要专上那么一点,但是并不代表其他的网友就都不如版主了,所以对于你的标题个人认为是十分不妥当的,建议参照本版版规自行更改,本次也就不扣积分了。 |
|
| 第5楼 zrz444 | 发表于 2006-08-16 08:31 |
| 新手上路 发帖 6 积分 16 | |
|
初来乍到规矩不懂,这次前来受益匪浅,以后常来悉心听教...
|
|
| 第6楼 electronixtar | 发表于 2006-08-16 15:20 |
| 铂金会员 发帖 2,672 积分 7,493 | |
学习了! 其实弹光驱一句话就够了: 那个 cdromCollection.Item(0) 0 就是第一个光驱, 1 就是第二个,类推 [ Last edited by electronixtar on 2006-8-16 at 15:25 ] |
|
| 第7楼 NaturalJ0 | 发表于 2006-08-16 15:46 |
| 银牌会员 发帖 533 积分 1,181 | |
|
pushed g: 2>nul
里面的 2 是什么意思? 如果想收光驱回去,应该怎么写? |
|
| 第8楼 zrz444 | 发表于 2006-08-16 20:46 |
| 新手上路 发帖 6 积分 16 | |
|
不错...又学习了..
|
|
| 第9楼 zh159 | 发表于 2006-08-16 23:44 |
| 金牌会员 发帖 1,467 积分 3,687 | |
Originally posted by NaturalJ0 at 2006-8-16 15:46: 2是表示输出错误句柄(执行错误),如果pushd g:执行错误,则“goto shutdown” 如果执行正确,就执行下面弹出光驱的命令 Set wmp = CreateObject("WMPlayer.OCX.7") 这段是我刚学会的打开、关闭光驱的VBS脚本;没有后面红色一句为打开光驱,完整的为:光驱关闭时,运行后打开后立即关闭,光驱打开时运行后关闭 PS:其实这两句同等于:“CreateObject("WMPlayer.OCX.7").cdromCollection.Item(0).Eject” 但是直接用两句“CreateObject("WMPlayer.OCX.7").cdromCollection.Item(0).Eject”却不成功 ON ERROR RESUME NEXT 这段是在网上找到的,可以打开、关闭多个光驱,上面的是精简为一个光驱的,红色部分同理 [ Last edited by zxcv on 2006-8-16 at 23:48 ] |
|
| 第10楼 IceCrack | 发表于 2006-08-17 08:21 |
| 中级用户 发帖 168 积分 332 来自 天涯 | |
|
难不成论坛上有马甲 一个zrz444 一个zrz000
|
|
| 第11楼 zrz000 | 发表于 2006-08-17 08:41 |
| 初级用户 发帖 16 积分 44 | |
|
是我同一个人哟。zrz444 注册时设置了安全提问。想上来时忘记了。只能注册了zrz000上来了。555555...
|
|
| 第12楼 3742668 | 发表于 2006-08-17 20:23 |
| 荣誉版主 发帖 718 积分 2,013 | |
|
请楼主注意更改标题
当然不成功了,两句“CreateObject("WMPlayer.OCX.7").cdromCollection.Item(0).Eject”分别创建了两个WMPlayer.OCX.7对象的两个实例,并分别调用了两个实例的eject方法(也就是打开光驱)。实例和对象是两个不同的概念,不应该混淆了。要打开并关驱过3秒后关闭,可以尝试下面的脚本: 另外值得注意的是:在调用vbs脚本以后,最好在批处理中加一句结束wscript.exe进程的代码,调用WMPlayer.OCX.7对象以后wscript.exe进程不会结束(其他对象会自动结束)。如果采用6F的方法的话则需要结束mshta.exe进程。 [ Last edited by 3742668 on 2006-8-17 at 21:50 ] |
|
| 第13楼 richercdw | 发表于 2006-12-02 09:15 |
| 初级用户 发帖 32 积分 62 | |
|
结束wscript.exe进程的代码 结束wscript.exe进程的代码。这代码怎么写呀。急需
|
|
| 第14楼 electronixtar | 发表于 2006-12-02 09:32 |
| 铂金会员 发帖 2,672 积分 7,493 | |
|
好久没有来看看玩光驱的vbs了,顶一个。以前老是不能解决关闭光驱的问题,现在解决了,谢谢版主。
btw,用 Linux习惯 eject 命令了 |
|
| 第15楼 lxmxn | 发表于 2006-12-02 14:41 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by richercdw at 2006-12-2 09:15: |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |