lefg 276 Geschrieben 11. Oktober 2005 Melden Teilen Geschrieben 11. Oktober 2005 for /f "tokens=2 skip=10" %%e in ('diskpart /s diskpartactive.txt') do echo %%e >> diskpart.txt pause 1 2 3 Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 11. Oktober 2005 Melden Teilen Geschrieben 11. Oktober 2005 for /f "tokens=2 skip=10" %%e in ('diskpart /s diskpartactive.txt') do echo %%e >> diskpart.txt & exit 1 for /f "tokens=2 skip=10" %%e in ('diskpart /s diskpartactive.txt') do echo %%e >> diskpart.txt & goto end :end pause 1 Wie, wohin soll es weitergehen? Zitieren Link zu diesem Kommentar
varnik 10 Geschrieben 11. Oktober 2005 Autor Melden Teilen Geschrieben 11. Oktober 2005 Hallo Edgar, habe das auf zwei Rechnern überprüft. Da stimmt was nicht. diskpart zählt die Volumen nicht die Partitionsnummer. list partition listet zwar die Partitionen auf, sagt aber gar nicht welche von denen aktiv ist. Off-topic Jetzt muss ich leider weg. Bin hoffentlich morgen zurück. Danke für deine Hilfsbereitschaft. Nochmal sorry. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 11. Oktober 2005 Melden Teilen Geschrieben 11. Oktober 2005 Da stimmt was nicht. diskpart zählt die Volumen nicht die Partitionsnummer. list partition listet zwar die Partitionen auf, sagt aber gar nicht welche von denen aktiv ist. Was verstehst du unter Partitionsnummer, womit ist die erfassbar. Ist der Partitiondescriptor gemeint(falls ich mich richtig erinnere, heisst so das Datum, das den Partitiontyp angibt)?Es geht dir darum festzustellen, welche Partition aktiv ist? Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 11. Oktober 2005 Melden Teilen Geschrieben 11. Oktober 2005 http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/ca099518-dde5-4eac-a1f1-38eff6e3e509.mspx Zitieren Link zu diesem Kommentar
varnik 10 Geschrieben 12. Oktober 2005 Autor Melden Teilen Geschrieben 12. Oktober 2005 Unsere Rechner in fast allen Räumen haben 3 Primären und 1 erweiterte Partition. Nur in einem Raum sind alle 4 Partitionen primär. Unter der Partitionsnummer verstehe ich den entsprechenden Eintrag in der Partitionstabelle, die aus 4 nacheinander stehenden Bereichen besteht. Diese Nummer steht auch im ARC-Pfad in der boot.ini-Datei. Genau dieser Nummer möchte ich rausfinden und dadurch eine passende boot.ini per Skript erzeugen. Der eingesetzte LILO oder GRUB sorgen dafür, dass die zu startende Partition aktiviert wird und andere primäre Partitionen versteckt (ausgeblendet) werden. Dann merkt das Betriebssystem die anderen in den übrigen Partitionen installierten Betriebssysteme nicht und ist der Meinung, das es allein installiert ist. Das Image bzw. die für verschiedene Veranstaltungen vorkonfigurierten Images sind von der ersten Partition abgezogen, enthalten aber eine boot.ini-Datei, die es ermöglichen, das in eine andere Partition bespielte Image trotzdem zu starten. Die Datei sollte das Skript u. a. automatisch neu erzeugen und die vorhandene ersetzen. Z.B. muss die Datei [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP 1" /noexecute=optin /fastdetect multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP 2" /noexecute=optin /fastdetect multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP 3" /noexecute=optin /fastdetect multi(0)disk(0)rdisk(0)partition(4)\WINDOWS="Microsoft Windows XP 4" /noexecute=optin /fastdetect durch [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect für die 3. Partition ersetzt werden. Ich kann aber kein internes Programm bzw. keine diskpart-Funktion finden, das/die die aktuell aktive Partition als deren Nummer in der Partitionstabelle in den ARC-Pfad eintragen kann. Das Skript @echo off cls :start ECHO. ECHO 1. Es wir von der 1. Partition gestartet ECHO 2. Es wir von der 2. Partition gestartet ECHO 3. Es wir von der 3. Partition gestartet set number= set /p number=Type the number to print text. if not '%number%'=='' set number=%number:~0,1% if '%number%'=='1' goto 1 if '%number%'=='2' goto 1 if '%number%'=='3' goto 1 ECHO "%number%" ist ungueltig. Bitte nochmal! ECHO. goto start :1 cls rem Vorlage fuer die boot.ini-Datei erstellen cp boot.txt vorlage.txt rem Die zu kopierende Vorlage mit Eintraegen nachfuellen for %%u in (%number%) do ECHO default=multi(0)disk(0)rdisk(0)partition(%%u)\WINDOWS >> vorlage.txt & ECHO [operating systems] >> vorlage.txt & ECHO multi(0)disk(0)rdisk(0)partition(%%u)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect >> vorlage.txt attrib -h -s c:\boot.ini move /Y vorlage.txt c:\boot.ini attrib +h +s c:\boot.ini goto end :end erzeugt die gewünschte Datei nach der manuellen Eingabe der Nummer. Man muss jedoch an jeden einzelnen Rechner. Genau das möchte ich mir sparen.:D Zitieren Link zu diesem Kommentar
varnik 10 Geschrieben 12. Oktober 2005 Autor Melden Teilen Geschrieben 12. Oktober 2005 So was habe ich bemerkt: Der Befehl diskpart /s active.txt wo active.txt folgende Zeilen enthält select disk 0 list partition listet die vorhandenen Partitionen auf und (Gott sei Dank) blendet der Bootmanager andere primären Partitionen aus. Dann bleibt die aktive Partition als Primär und nicht Unbekannt gekennzeichnet. Datenträger 0 ist der derzeit gewählte Datenträger. Partition Typ Größe Offset ------------- ---------------- ------- ------- Partition 1 Unbekannt 188 MB 32 KB Partition 2 Unbekannt 28 GB 188 MB [b] Partition 3 Primär 9 GB 28 GB[/b] Partition 4 Erweitert 112 GB 37 GB Partition 5 Logisch 28 GB 37 GB Partition 6 Logisch 28 GB 65 GB Partition 7 Logisch 56 GB 93 GB Ist es möglich die vor dem Wort Primär stehende Zahl in eine Variable umzuwandeln. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 12. Oktober 2005 Melden Teilen Geschrieben 12. Oktober 2005 Mahlzeit, schau dir dies mal an! for /f "tokens=* skip=11" %%e in ('diskpart /s diskpartactive.txt') do ( echo %%e for /f "tokens=2,3" %%f in ("%%e") do ( if %%g equ Prim„r echo %%f & goto end ) ) :end pause Gruß Edgar Zitieren Link zu diesem Kommentar
varnik 10 Geschrieben 12. Oktober 2005 Autor Melden Teilen Geschrieben 12. Oktober 2005 Super! Danke! Wie kann ich (eher Du) das Leerzeichen am Ende der Variable weg? @echo off for /f "tokens=* skip=11" %%e in ('diskpart /s diskpartactive.txt') do ( echo %%e for /f "tokens=2,3" %%f in ("%%e") do ( if %%g equ Prim„r set var=%%f & goto end ) ) :end echo Hallo! Du hast von der %var%. Partition gestartet! Es wird das ausgegeben Hallo! Du hast von der 3 . gestartet! Du hast das bereits einmal gemacht, leider ohne Erläuterungen. Bitte um einen Link zum Tutorial über :~0,1 usw. Oder erkläre es bitte hier, wenn es nicht zu zeitaufwändig ist. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 12. Oktober 2005 Melden Teilen Geschrieben 12. Oktober 2005 Bitte um einen Link zum Tutorial über:~0,1 usw. Oder erkläre es bitte hier, wenn es nicht zu zeitaufwändig ist. http://www.bb-sys.de/bbshell.htm Siehe set /? Das Ersetzen von Umgebungsvariablen wurde folgendermaáen erweitert: %PATH:str1=str2% Dies erweitert die PATH-Umgebungsvariable, wobei jede Instanz von "str1" im erweiterten Ergebnis mit "str2" ersetzt wird. "str2" kann die leere Zeichenfolge sein, um alle Instanzen von "str1" aus der erweiterten Ausgabe zu l”schen. Wenn "str1" mit einem Sternchen beginnt, steht "str1" fr alles zwischen dem Anfang der erweiterten Ausgabe bis zum ersten Auftreten des brigen Abschnitts von "str1". %PATH:~10,5% Dies erweitert die PATH-Umgebungsvariable und verwendet dann nur fnf Zeichen ab dem elften Zeichen (Offset=10) des erweiterten Ergebnisses. Wenn die L„nge nicht angegeben ist, wird der Rest des Variablenwerts verwendet. Wenn eine der Zahlen (Offset oder L„nge) negativ ist, dann wird der angegebene Wert der L„nge des Umgebungsvariablenwerts hinzugefgt. %PATH:~-10% extrahiert die letzten 10 Zeichen der Variable PATH. %PATH:~0,-2% extrahiert alle, auáer den letzten 2, Zeichen der Variable PATH. Zitieren Link zu diesem Kommentar
varnik 10 Geschrieben 12. Oktober 2005 Autor Melden Teilen Geschrieben 12. Oktober 2005 Nochmal herzlichen Dank! Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 12. Oktober 2005 Melden Teilen Geschrieben 12. Oktober 2005 Gern geschehen :) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.