Laufwerks-Buchstaben abhängig vom Disklabel zuweisen

Möchte man nach einer Neuinstallation die Laufwerksbuchstaben automatisch anpassen, kann man dies anhand des Labels (= Laufwerks-Name) tun.

Folgender Ausschnitt weisst der Festplatte mit dem Namen BACKUP den Buchstaben "L:" zu.

<B>Hinweis:</B> Das Beispiel benötigt "diskpart", dass aber bei Windows XP standardmässig schon dabei ist.

Weitere Infos dazu gibts unter: http://groups.msn.com/windowsscript/powershell.msnw?action=get_message&mview=0&ID_Message=15313&LastModified=4675570881377551875&all_topics=1

' Objekte die wir brauchen (FSO und WSHShell) erstellen
Set fs = createobject("Scripting.FileSystemObject")
Set wshShell = CreateObject("WScript.Shell")
 
 
' Textdatei für diskpart erstellen
fn = fs.Getspecialfolder(2) & "hd_rename.txt"
Set renFile = fs.Opentextfile(fn, 2, True)
 
 
' Nun alle Festplatten-Laufwerke (Drivetype 2) durchgehen und wenn das Label
' gefunden wurde dieses zum umbenennen in die Textdatei schreiben.
' HINWEIS: Beim Select Case kann man natürlich so viele Cases machen wie man
'                 benötigt, einfach das "BACKUP"-Beispiel kopieren
For each myDrive in Drives
  If myDrive.Drivetype = 2 Then
    Select Case myDrive.VolumeName
      Case "BACKUP"
        renFile.Writeline "Select Volume " & myDrive.DriveLetter
        renFile.Writeline "Assign Letter=L"
 
      'Case Else
      '  msgBox myDrive.VolumeName
    End select
  end if
Next
 
 
' Textdatei schliessen
renFile.Close
 
 
' Diskpart laufen lassen und dabei die umbenennungs Textdatei mitgeben
myCMD = "Diskpart.exe /s " & fn
result = wshShell.Run(myCMD ,,true)
 
 
' Textdatei löschen und Objekte aus dem Speicher entfernen
If fs.FileExists(fn) Then
  fs.DeleteFile(fn)
End if
set fs = nothing
set wshShell = nothing

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert