识别CD驱动器,并使用蝙蝠或VBS而在WinPE的,无需外部文件的弹出(Identify CD dr

2019-10-17 13:56发布

我需要确定CD驱动器,弹出托盘。 这是在同时启动的WinPE执行,所以WMP弹出功能不可用。 这个脚本会在不同的计算机型号/配置使用。 我目前使用这样的:

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

它的工作原理,但有时它的错误,并要求用户交互它弹出之前。 我怀疑这是因为硬编码的D:\驱动器盘符,但我可能是完全错误的。 我需要这个没有第三方公用事业工作。

Answer 1:

使用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


Answer 2:

下面是一个使用媒体播放器弹出代码; 我不知道这将是多么容易从你的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的媒体上:

  • http://www.911cd.net/forums/index.php?showtopic=2931&hl=cd+eject


文章来源: Identify CD drive and eject using bat or vbs while in WinPE without external files