notausstieg
Goto Top

CD-Laufwerk unter DOS suchen

Wie kann ich unter DOS alle LAufwerke durchtesten und so ein bestimtmes Laufwerk mit einem bestimmten Inhalt suchen

Hy,

undzwar habe cih ein Problem. iICh mus es irgendwie hinkriegen unter DOS eine Art CD-Erkennung zu proggen (als Batch-Datei) ich habs bereits mit

FOR %%x in (C: D: E: F: G: H: I: J: K: L: M: N: P: Q: R: S: T: U: V: W: X: Y: Z: ) do IF exist %%x\netboot.uha set CD = %%x

probiert, doch da kommt dan bei den Laufwerken die nicht existieren "Fehler beim lesen. abbrechen, wiederholen oder fortsetzen?" wie kann man so etwas realisieren, da die CD mal in dem und mal in einem anderen Laufwerk ist (je nach Rechner).


Vielen Dank

Gruß Notausstieg

Content-Key: 71505

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

Ausgedruckt am: 29.03.2024 um 02:03 Uhr

Mitglied: Biber
Biber 22.10.2007 um 07:42:07 Uhr
Goto Top
Moin Notausstieg,

in Deinem Fall kannst Du doch die zu prüfenden Laufwerksbuchstaben dadurch reduzieren, dass Du nur die CD-Rom-Laufwerke prüfst.

Dazu kannst Du entweder einen kleinen VBS-Schnipsel nutzen, in dem Du den .DriveType eines Laufwerks prüfst oder (falls doch etwas Aktuelleres drunterliegen sollte als DOS) folgende abgewandelte Zeile zur Prüfung nutzen (Beispiel am CMD-Prompt):
>for /f %a in ('fsutil fsinfo drives^|find ":"') do @for /f "delims=" %i in ('fsutil fsinfo drivetype %a^|findstr "CD-ROM-Laufwerk"') do @echo %i %a  
 R:\- CD-ROM-Laufwerk
Beispiel aus diesem Beitrag: Batchdatei - Abfrage einer bestimmten USB-Platte....

Auch für die andere Strategie (.DriveType) solltest Du über unsere Forumssuche ein paar Beispiele finden.

Ob etwas davon verwendbar ist hängt davon ab, welche Betriebssysteme auf den Rechnern laufen, auf denen Dein Batch zum Einsatz kommen soll.
Bevor Du das nicht eingrenzen kannst, lohnt es sich kaum mit einem "proggen" anzufangen.

Grüße
Biber
Mitglied: Notausstieg
Notausstieg 24.10.2007 um 19:20:02 Uhr
Goto Top
die sache ist die, das dass ganze eine Boot-CD werden soll. daher kann ich keine großartigen 32-bit programme einbinden.
Mitglied: Biber
Biber 24.10.2007 um 20:09:09 Uhr
Goto Top
Moin Notausstieg,

ich versteh das Problem vielleicht nicht ganz, daber es gibt doch (wie immer im Leben) zwei Möglichkeiten

  • entweder Dein Batchfetzen befindet sich auf der eingelegten CD. Dann kannst Du den gestarteten batch sich selbst fragen lassen, wie "sein" Laufwerk heißt. (set CD=%~d0)
  • oder Dein Batch befindet sich nicht auf der CD, sondern schon auf einem beliebigen Laufwerk irgendeines Benutzers - dann würde mich aber interessieren, wie er dahingekommen ist. Hast Du den Batch mit der oben genannten Zeile per Mail verschickt und die CD per Post?

Dann schildere bitte den Ablauf und den gestarteten Batch mal im ganzen Satz. Bzw. den Kontext.

Danke
Biber
Mitglied: Notausstieg
Notausstieg 25.10.2007 um 10:08:49 Uhr
Goto Top
Hy Biber,

die batchdatei sit im Bootimage der CD enthalten. Das Bootimage startet und die Batchdatei muss nun ermitteln wo die CD eingelegt ist, da er von der Cd (nach laden der Cd-Treiber) weitere Daten laden muss.

Gruß Notausstieg
Mitglied: Biber
Biber 25.10.2007 um 12:22:09 Uhr
Goto Top
Moin Notausstieg,

vielleicht habe ichmich gestern nicht verstänbdlich ausgedrückt.
Wenn Dein Batch auf der CD gestartet wird, dann kann er diesen Laufwerksbuchstaben auch ermitteln.

Da ich nicht ein so guter Erklärer bin, kopier doch mal bitte folgende Zeile in ein geöffnetes CMD-Fenster

echo @echo Der Batch "%0" startete auf Lw %~d0>showLw.bat  

und gib dann "ShowLw" ein.
Ausgabe sollte dann
Der Batch "showLw" startete auf Lw C:
oder ähnliches sein.

Grüße
Biber
Mitglied: Notausstieg
Notausstieg 25.10.2007 um 18:20:20 Uhr
Goto Top
jo, hast recht.

ich dank dir

grüße Notausstieg