大家在使用WinPE做Recovery CD的時候,有時候會碰到CD-ROM的位置(Drive Letter)不是固定的,這時候怎麼辦呢?

這邊寫了一段VB Script讓大家可以去判斷哪一個Drive Letter是CD-ROM.

==================================================================

dim fso, FileName, GetDrive, FilePath, i, icount
icount=68  '這邊可以設定要從哪個Drive開始搜尋
Set fso = CreateObject("Scripting.FileSystemObject")
Set FileName = fso.CreateTextFile("X:\Windows\system32\Recovery.bat", True)

For i = icount To 78 '剛剛設定搜尋的Drive , 用ASCII去算 (68 = “D”)
    FilePath = Chr(icount) & ":\ICD.DAT" '設定要檢查檔案,檢查到此檔的Drive是CD-ROM
   GetDrive = Chr(icount) '取得當前Drive Letter
   
    If fso.FileExists(FilePath) Then
        Wscript.Echo "Drive " & GetDrive & ": is CD-ROM" '顯示訊息提示
        FileName.WriteLine("Drive " & Chr(icount) & ": is CD-ROM") '寫入Recover.bat

        FileName.WriteLine("@imagex /apply " & GetDrive & ":\OS.wim 1 c:" )
        '舉例動態使用imageX /apply 來源Wim至目標Drive
       
        FileName.Close
        Exit For
    End If
    icount=icount+1 'Drive迴圈
Next
Set FileName = Nothing
Wscript.Quit

===================================================================

Enjoy it~

Barry 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • Tony
  • 請問您知道如何關閉Winpe 下的多餘命令視窗 ? 或最小化
  • 可用VbScript
    Set ws = CreateObject("Wscript.Shell")
    ws.run "cmd /c notepad.exe",vbhide

    或是 用Winpeshl.ini取代startnet.cmd.

    Barry 於 2014/04/25 11:31 回覆