Jump to content

change cd-rom drive letter during unattend install


Recommended Posts

To change the cdrom drive letter to say z: drive you can use the following vbs file.

' CD-ROM Change drive letter to Z:

Option Explicit

dim objShell, objFs, objDriveCollection, wshSysEnv, strTemp, strSystemRoot, intDriveLetter
Dim objDrive, objFile, strDriveType, strCMD, strVolume, strDrivesDone

Set objShell = WScript.CreateObject("WScript.Shell")
Set objfs = CreateObject("Scripting.FileSystemObject")
Set objDriveCollection = objfs.Drives

Set WshSysEnv = objShell.Environment("PROCESS")
strTemp = WshSysEnv("Temp")
strSystemRoot = WshSysEnv("SystemRoot")

intDriveLetter=90 ' ascii for Z
strDrivesDone="" ' Drives that have been remapped. Prevents CDs being changed again after being moved higher up the alphabet

For Each objDrive in objDriveCollection

Select Case objDrive.DriveType
 Case 0: strDriveType = "Unknown"
 Case 1: strDriveType = "Removable"
 Case 2: strDriveType = "Fixed"
 Case 3: strDriveType = "Network"
 Case 4: strDriveType = "CD-ROM"
 Case 5: strDriveType = "RAM Disk"
End Select

if strDriveType = "CD-ROM" AND instr(strDrivesDone,objDrive.DriveLetter)=0 then

 ' discover volume ID
 strCMD = strSystemroot & "\system32\cmd /c mountvol.exe " & objDrive.DriveLetter & ": /L > " & strTemp & "\volume.txt"
 objshell.run strCMD,0,true
 Set objFile = objfs.OpenTextFile(strTemp & "\volume.txt", 1)
 strVolume = ltrim(objFile.ReadLine)
 objFile.close

 ' unmount CD-ROM
 strCMD = "mountvol.exe " & objDrive.DriveLetter & ": /d"
 objShell.Run strCMD,0,true

 ' Remount CD-ROM
 strCMD = "mountvol.exe " & chr(intDriveLetter) & ": " & strVolume
 objShell.Run strCMD,0,true
 strDrivesDone=strDrivesDone & chr(intDriveLetter)
 intDriveLetter=intDriveLetter-1

end if


Next

Copy and paste the above code and save as a .vbs file

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...