Jump to content

Aktive Partition per cmd rausfinden?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich möchte, dass ein Skript (nur .cmd bzw. .bat ) die zur Zeit aktive Partition herausfindet und deren Nummer einer Variable als Wert übergibt.

Der Befehl diskpart gibt etwa so aus.



Microsoft DiskPart Version 5.1.3565

Copyright (C) 1999-2003 Microsoft Corporation.
Auf Computer: PCQ19

Datentr„ger 0 ist der derzeit gew„hlte Datentr„ger.

WDC WD1600JD-00HBB0
Datentr„ger-
kennung     : 30CA30C9
Typ         : IDE
Bus         : 1
Ziel        : 0
LUN-Kennung : 0

 Volume      Bst  Bezeichnung  DS     Typ         GrӇe    Status     Info
 ----------  ---  -----------  -----  ----------  -------  ---------  --------
 Volume 1     C   XP_speziell   NTFS   Partition      9 GB  OK         Startpar
 Volume 2     D   XP_allgemein    FAT32  Partition     28 GB  OK                 
 Volume 3     E   DATEN        FAT32  Partition     28 GB  OK                 

 

Das Skript sollte aber auf unterschiedlich partitionierten Systemen laufen. Es kann sein, dass alle vier Basis-Partitionen startfähig sind. Das Ziel ist die boot.ini automatisch zu erzeugen nach dem ein Image auf eine beliebige Partition bespielt wird.

Link zu diesem Kommentar
Hallo Nik,

 

ich würde es wohl mit der For-Schleife und der Textiteration /F machen.

 

Kennst du dich damit aus oder brauchst du Hilfe?

 

http://www.bb-sys.de/bbshell.htm

 

Gruß

 

Edgar

 

Hallo Edgar,

 

ein Bisschen Kenntnisse fehlen mir noch. :confused:

Du hast mir schon mehrmals geholfen, aber diese Aufgabe ist mir viel zu viel.

Was ich nicht kann, ist nachdem "Startfar" gefunden wird, die Volumennummer einer Variable übergeben. Die steht ja ganz vorne. :confused:

Link zu diesem Kommentar
Hi, versucht es so.

Der Fehlerfall tritt ein wenn ein anderes Volume auch 'System' als Namen hat.

 

echo list vol | diskpart | find "System">%temp%\diskpart.log
for /f "tokens=1,2" %%i in (%temp%\diskpart.log) do set aktvol=%%j
del %temp%\diskpart.log
echo Ergebnis: %aktvol%

Mahlzeit Edgar :D

thorgood

Wenn ich das Volume "SYSTEM" benenne, dann wird wirklich bald die ganze Platte nur aus "system"-Volumen bestehen.:)

Ich muss die zur Zeit aktive Partition auslesen können, die aber immer unterschiedlich sein kann. Heute die erste, morgen - die dritte.

Link zu diesem Kommentar

for /f "tokens=*" %%e in ('diskpart /s diskpartactive.txt') do echo %%e >> diskpart.txt
pause

Schauen wir uns das Ergebnis mal an.

Microsoft DiskPart Version, 1.0
Copyright (C) 1999-2001 Microsoft Corporation.
Auf Computer: R202-ADMIN

DISKPART> 
 Volume      Bst  Bezeichnung  DS     Typ         GrӇe    Status     Info
 ----------  ---  -----------  -----  ----------  -------  ---------  --------
 Volume 0     D                       CD              0 B                     
 Volume 1     C   Lokaler Dat  NTFS   Partition      8 GB  OK         System  
 Volume 2     E   Support Dat  NTFS   Partition     19 GB  OK                 
 Volume 3     F   Swap         NTFS   Partition   2008 MB  OK         Auslager 

Link zu diesem Kommentar
for /f "tokens=* skip=10" %%e in ('diskpart /s diskpartactive.txt') do echo %%e >> diskpart.txt
pause

Volume [b]1   [/b]  C   Lokaler Dat  NTFS   Partition      8 GB  OK         System   
Volume 2     E   Support Dat  NTFS   Partition     19 GB  OK                  
Volume 3     F   Swap         NTFS   Partition   2008 MB  OK         Auslager 

Ist im Ergebnis die gewünschte Information enthalten?

Ja. Das Problem ist es , die Volume-Nummer, die vor dem "C" steht in eine Variable umzuwandeln. In deinem Beispiel die 1

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...