标题: 如何将这个VBS转BAT
[打印本页]
作者: eech
时间: 2006-12-10 08:28
标题: 求关闭光驱的批处理.不知有没有
mshta "javascript:new ActiveXObject('WMPlayer.OCX').cdromCollection.Item(0).Eject();window.close();"
这是联盟的一位大虾写的弹出光驱的批处理.配上快捷键.超爽.但不足的是没有关闭光驱的批处理.
请教各位大虾.在不用软件的前提下.
有没有关闭光驱的批处理
作者: lxmxn
时间: 2006-12-10 08:49
下面是VBS的,可以转换成批处理。
With CreateObject("WMPlayer.OCX.7").cdromCollection
.Item(0).eject
WScript.echo "光驱已经打开"&vbcrlf&"单击确定关闭光驱"
.Item(0).eject
End With
[
Last edited by lxmxn on 2006-12-10 at 08:50 AM ]
作者: eech
时间: 2006-12-10 09:11
哇塞.真是偶像.刚在霏凡问了.一个级别很高的朋友.对我说没有关闭批处理.这下他可没话说了
作者: electronixtar
时间: 2006-12-10 09:32
霏凡是什么啊?
作者: vkill
时间: 2006-12-10 10:45
Quote: |
Originally posted by electronixtar at 2006-12-10 09:32:
霏凡是什么啊? |
|
论坛
作者: eech
时间: 2006-12-10 12:00
标题: 如何将这个VBS转BAT
With CreateObject("WMPlayer.OCX.7").cdromCollection
.Item(0).eject
WScript.echo "光驱已经打开"&vbcrlf&"单击确定关闭光驱"
.Item(0).eject
End With
哪位大虾行行好.教我如何转这个VBS文件转成批处理
[
Last edited by eech on 2006-12-10 at 12:01 PM ]
作者: lxmxn
时间: 2006-12-10 12:09
@echo off
echo With CreateObject("WMPlayer.OCX.7").cdromCollection>tem.vbs
echo .Item(0).eject>>tem.vbs
echo msgbox "光驱已经打开"^&vbcrlf^&"单击确定关闭光驱">>tem.vbs
echo .Item(0).eject>>tem.vbs
echo End With>>tem.vbs
cscript.exe //H:wscript //nologo tem.vbs
del tem.vbs
[
Last edited by lxmxn on 2006-12-10 at 12:41 PM ]
作者: youxi01
时间: 2006-12-10 12:13
::On Error Resume Next
echo '>nul &cls&@echo off &wscript //E:vbs "%~f0"
::With CreateObject("WMPlayer.OCX.7").cdromCollection
::.Item(0).eject
::WScript.echo "光驱已经打开"&vbcrlf&"单击确定关闭光驱"
::.Item(0).eject
::End With
保存为:test.bat,有一定的“欺骗成分”
作者: eech
时间: 2006-12-10 12:15
二楼的朋友.试了不行啊.
作者: redtek
时间: 2006-12-10 12:20
2楼、3楼代码都可行,经过实验:)
但是,2楼代码需要将倒数第2行的“cscritp.exe” 改为 “cscript.exe”,
因为那个词拼写失误(估计是急着给你回贴怕楼主等时间长了),哈哈……
[
Last edited by redtek on 2006-12-9 at 11:22 PM ]
作者: eech
时间: 2006-12-10 12:24
谢谢5楼的朋友.你说的对.但二楼的大虾文件会生成一个临时文件.虽能自动删除.但要不生成就更完美了
作者: lxmxn
时间: 2006-12-10 12:38
2楼中的代码已经更正。多谢 Redtek 兄提醒啊。汗一下自己。
作者: 3742668
时间: 2006-12-10 12:41
mshta "javascript:with (new ActiveXObject('WMPlayer.OCX').cdromCollection.Item(0)){Eject();if(confirm("是否进仓?")) Eject();}window.close();"
正在从vbs转到js,给个同样功能的吧。记得在下面用一句taskkill结束mshta进程。
作者: lxmxn
时间: 2006-12-10 12:45
Quote: |
记得在下面用一句taskkill结束mshta进程。 |
|
经过测试,不用taskkill结束进程,也会自动关闭窗口的,任务管理器里面也没有mshta.exe进程。
作者: 3742668
时间: 2006-12-10 13:06
Quote: |
Originally posted by lxmxn at 2006-12-10 12:45:
经过测试,不用taskkill结束进程,也会自动关闭窗口的,任务管理器里面也没有mshta.exe进程。 |
|
你什么版本的什么操作系统?
我实验过很多次,也问过不少朋友,从脚本创建WMPlayer.OCX对象后都存在无法释放的情况。
我的测试环境都是xp sp2联想oem版。
————————————俺是分割线——————————————
*********************************
版务记录
*********************************
操作: 合并主题
原因: 讨论主题重复
原fid: 25520
执行: 3742668
备注: 1.建议发贴前看看置顶版规
2.一个主题不要多次发贴。
**********************************
[
Last edited by 3742668 on 2006-12-10 at 01:11 PM ]
作者: lxmxn
时间: 2006-12-10 13:28
我是 Windows XP Professional SP2 的系统。
作者: eech
时间: 2006-12-11 01:13
版主.但我问二个问题.不是又违反了"一题多发"吗?
作者: 3742668
时间: 2006-12-11 07:41
Re eech:
首先感谢你有意识地按照版规发贴。
关于这两个主题合并的问题。因为你两个主题存在明显的上下文关系,主要内容大概是“如何从批处理中操作光驱”,只不过由于第一贴中大家只是给出的vbs脚本而没有转换为bat才开的第二贴,为了避免他人看到你第一贴后再如你一样发贴询问如何转换为bat,所以将这两个主题并为一贴。
如果此次操作给你带来不便或你觉得有异议,请到《意见反馈&网友交流》版申诉,或用站内消息系统留言说明。