在没有外部文件的WinPE中识别CD驱动器并使用bat或vbs弹出

时间:2013-01-08 17:04:05

标签: vbscript drive winpe cd-rom

我需要识别CD驱动器并弹出托盘。这是在WinPE中引导时执行的,因此WMP弹出功能不可用。此脚本将用于各种计算机型号/配置。我目前正在使用它:

For Each d in CreateObject("Scripting.FileSystemObject").Drives
    CreateObject("Shell.Application").Namespace(17).ParseName("D:\").InvokeVerb("Eject")
Next

它可以工作,但有时它会出错并需要用户在弹出之前进行交互。我怀疑这是因为硬编码D:\驱动器号,但我可能完全错了。我需要这个没有第三方实用程序。

2 个答案:

答案 0 :(得分:3)

使用DriveType对象的Drive属性:

For Each d in CreateObject("Scripting.FileSystemObject").Drives
    WScript.sleep 60
    If d.DriveType = 4 Then
        CreateObject("Shell.Application").Namespace(17).ParseName(d.DriveLetter & ":\").InvokeVerb("Eject")
    End If
Next

答案 1 :(得分:1)

以下是使用Media Player弹出的代码;我不确定从WinPE环境调用是多么容易:

' http://www.msfn.org/board/topic/45418-vbscript-for-openingclosing-cd/ 
' http://waxy.org/2003/03/open_cdrom_driv/
Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
     For d = 0 to colCDROMs.Count - 1
           colCDROMs.Item(d).Eject 
Next 'null

计划B将下载“eject.exe”的副本,并将其包含在您的WinPE媒体上: