evinben
Goto Top

VHD-Datei automatisch per Skript einbinden und bestimmten Laufwerksbuchstabe zuweisen.

Hallo,

mit einer Batch wird DISKPART (mit externem Skript, in welchem alle einzubindenden VHD-Dateien eingetragen sind) aufgerufen und nach Abschluss der Arbeit werden dieselben virtuellen Laufwerke wieder getrennt. Da es jeweils bestimmte Laufwerksbuchstaben vergeben sein müssen, diese wechseln sich beim Einbinden allerdings öfter, funktioniert nachfolgende Verarbeitung nicht mehr. Ein läßtiger manueller Eingriff in der Datenträgerverwaltung ist also leider immer noch ein Pflicht.
Ist es überhaupt möglich bestimmte Laufwerksbuchstaben jeweils beim Einbinden einer VHD-Datei per Skript zuzuweisen? Manuel in der Eingabeaufforderung geht es, wenn list volume und dannach select volume x (wobei x die Nummer des jeweiligen Volumens) angegeben wird. Also die größte Schwierigkeit ist: Wie ordnet man im Batch den richtigen Volumen-Nummer zu der jeweiligen VHD-Datei zu? Bzw. wie macht ihr es automatisiert?

Vielen Dank für eure Hilfe

Gruß
evinben

Content-ID: 187767

Url: https://administrator.de/contentid/187767

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

colinardo
colinardo 10.07.2012 aktualisiert um 20:14:14 Uhr
Goto Top
Ich gehe mal davon aus das deine VHD nur eine Partition enthalten.
Also das was du für dein Script am Anfang wissen musst ist die aktuelle Anzahl der Volumes auf dem Rechner. Das heißt beim Einhängen der VHD bekommt diese wenn es z.B auf dem Rechner 3 Volumes gibt den Namen "Volume 4".

Du machst dir also für diskpart ein Script mit folgendem Inhalt und speicherst es z.B. als lisvol.txt
list volume

dann fügst du in deinem Script folgenden Befehl ein:
set COUNTVOLUME=
set NEXTVOLUME=
for /f "tokens=2 skip=7" %%i IN ('diskpart /s lisvol.txt') DO @(if NOT "%%i" == "" set COUNTVOLUME=%%i)  
echo Anzahl an Volumes= %COUNTVOLUME%
set /a NEXTVOLUME=%COUNTVOLUME%+1
echo Nächstes Volume bekommt folgende Nummer = %NEXTVOLUME%

Jetzt hast du mit der Vaiablen %COUNTVOLUME% die Anzahl der Volumes auf dem entsprechenden Rechner. Mit dem Wissen kannst du dann das Hauptscript für Diskpart in der Batch selber erstellen d.h. mit ">>diskpartscript.txt" die Zeilen für das Script "OnTheFly" erstellen.
Die Auswahl des Volumes machst du dann mit "select volume %NEXTVOLUME%".

Das einhängen eines Volumes mit einem bestimmten Buchstaben geht ja mit:
assign letter=X
in diskpart.

Hoffe das hilft dir bei deinem Problem ein bißchen weiter.

Grüße
Uwe