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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 187767
Url: https://administrator.de/contentid/187767
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
1 Kommentar
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
dann fügst du in deinem Script folgenden Befehl ein:
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:
in diskpart.
Hoffe das hilft dir bei deinem Problem ein bißchen weiter.
Grüße
Uwe
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
Hoffe das hilft dir bei deinem Problem ein bißchen weiter.
Grüße
Uwe