Supportnet / Forum / BS-Sonstige
Batch mit 2 CD Laufwerken
Frage
Hallöchen
Ich möchte mittels Bootdiskette ein Setup von CD starten. Ansich kein Problem. Jedoch, wenn ich zwei CD Laufwerke habe und ich die Laufwerke mit MSCDEX mit Y: und Z: definiere ist Y: ja immer das erste
Laufwerk. Wenn die CD jetzt aber im zweiten Laufwerk (Z:) liegt greift er trotzdem zuerst auf Y: zu und meldet bei leerem CD Fach logischerweise "Nicht bereit beim Lesen von..." Das will ich übergehen.
Ist blöd ausgedrückt.
Ich möchte in der autoexec.bat nicht
Y:\SETUP
oder
Z:\SETUP
eintragen, da ich ja dann Laufwerksgebunden bin.
Das ganze geschieht unter DOS 6.22
Danke schonmal für`s lesen und nochmer
Dank für`s antworten
DerAndi
Antwort 1 von Reindy
ich nehme an, wenn du Master und slave wechselst, wird das funktionieren
RJ
RJ
Antwort 2 von DerAndi
Ist ja das gleiche in grün.
Die autoexec soll eigentlich selber rausfinden in welchem CD Laufwerk die CD ist. Mich stört da die Fehlermeldung wenn im anderen Laufwerk keine CD ist.
Die autoexec soll eigentlich selber rausfinden in welchem CD Laufwerk die CD ist. Mich stört da die Fehlermeldung wenn im anderen Laufwerk keine CD ist.
Antwort 3 von manei
Hallo,
das ist sehr schwierig, da es sich hier um eine Fehlermeldung handelt, die vom System generiert wird.
Nomalerweise können allgemeine [Fehler]-Meldungen ausgegrenzt werden mit z.B.
copy c:\datei D:>nul
Die Meldung "1 Datei kopiert" ist damit weg. Ist die Datei aber nicht vorhanden, ist zwar die Meldung "0 Dateien kopiert" weg, die Systemmeldung "Datei nicht gefunden" erscheint aber doch auf dem Bildschirm.
Das gleiche Problem ist bei den CD-Laufwerken.
Wenn eine Cd im entsprechenden Laufwerk ist und Du abfragst mit
if exist X:\nul>nul
wird errorlevel 0 ausgegeben (nicht auf dem Bilsschirm)
Abfrage ist dann
if not errorlevel 1
Ist aber keine CD im Laufwerk kommt diese Fehlermeldung und mit Eingabe von A wird die Batch beendet.
Nun gibt es die Möglichkeit in DOS unerwünschte Fehlermeldungen zu ignorieren mit "Ctty nul", das klappt aber nicht auf allen Systemen; ob bei 6.22 weiß ich nicht.
Am bestem macht man das in einer extra Batch, die man dann z.B. mit call name.bat a aufruft.
Dein Wunsch, daß das entsprechende CD-Laufwerk ohne irgendeine Angabe ausgesucht wird, ist theoretisch zwar machbat aber illusorisch.
Du müßtest immer von A: bis Z: alle Laufwerke abfragen, die Disketten- und HD-Laufwerke eliminieren, wenn Ramdrive vorhanden auch diese und erst den Rest könntest Du dann nach CD-Rom abfragen.
Für Deinen Fall könnte helfen:
@echo off
cls
Ctty nul
if exist X:\nul>nul
if not errorlevel 1 set %1=X:\Setup
if exist Y:\nul>nul
if not errorlevel 1 set %1=X:\Setup
Ctty con
cls
Aber wie bereits gesagt, ob das auf DOS 6.22 läuft, weiß ich nicht. Bei manchen Systemen bringt er zwar die Fehlermeldung nicht, bleibt aber hängen bei anderen klappt das einwandfrei.
MfG maneich
das ist sehr schwierig, da es sich hier um eine Fehlermeldung handelt, die vom System generiert wird.
Nomalerweise können allgemeine [Fehler]-Meldungen ausgegrenzt werden mit z.B.
copy c:\datei D:>nul
Die Meldung "1 Datei kopiert" ist damit weg. Ist die Datei aber nicht vorhanden, ist zwar die Meldung "0 Dateien kopiert" weg, die Systemmeldung "Datei nicht gefunden" erscheint aber doch auf dem Bildschirm.
Das gleiche Problem ist bei den CD-Laufwerken.
Wenn eine Cd im entsprechenden Laufwerk ist und Du abfragst mit
if exist X:\nul>nul
wird errorlevel 0 ausgegeben (nicht auf dem Bilsschirm)
Abfrage ist dann
if not errorlevel 1
Ist aber keine CD im Laufwerk kommt diese Fehlermeldung und mit Eingabe von A wird die Batch beendet.
Nun gibt es die Möglichkeit in DOS unerwünschte Fehlermeldungen zu ignorieren mit "Ctty nul", das klappt aber nicht auf allen Systemen; ob bei 6.22 weiß ich nicht.
Am bestem macht man das in einer extra Batch, die man dann z.B. mit call name.bat a aufruft.
Dein Wunsch, daß das entsprechende CD-Laufwerk ohne irgendeine Angabe ausgesucht wird, ist theoretisch zwar machbat aber illusorisch.
Du müßtest immer von A: bis Z: alle Laufwerke abfragen, die Disketten- und HD-Laufwerke eliminieren, wenn Ramdrive vorhanden auch diese und erst den Rest könntest Du dann nach CD-Rom abfragen.
Für Deinen Fall könnte helfen:
@echo off
cls
Ctty nul
if exist X:\nul>nul
if not errorlevel 1 set %1=X:\Setup
if exist Y:\nul>nul
if not errorlevel 1 set %1=X:\Setup
Ctty con
cls
Aber wie bereits gesagt, ob das auf DOS 6.22 läuft, weiß ich nicht. Bei manchen Systemen bringt er zwar die Fehlermeldung nicht, bleibt aber hängen bei anderen klappt das einwandfrei.
MfG maneich
Antwort 4 von DerAndi
@mane
Hast recht. Geht überhaupt nicht. Wenn CD in LW Y: dann bleibt er bei a:\> stehen und in Z: bleibt der Rechner stehen.
Schade
Trotzdem Dank
Gibt es vielleicht ein Tool, das unter DOS abfragt, ob eine CD im Laufwerk ist? Würde ja die Sache vielleicht vorran bringen.
Hast recht. Geht überhaupt nicht. Wenn CD in LW Y: dann bleibt er bei a:\> stehen und in Z: bleibt der Rechner stehen.
Schade
Trotzdem Dank
Gibt es vielleicht ein Tool, das unter DOS abfragt, ob eine CD im Laufwerk ist? Würde ja die Sache vielleicht vorran bringen.
Antwort 5 von DerAndi
Hallo alle
Hab da was gefunden, womit es endlich klappt.
:: isdrive.bat
:: parm1 is drive letter without colon
@ECHO off
CTTY nul
%COMSPEC%/F/CDIR/ADH/W/-P %1: |FIND.EXE ":\" >nul
CTTY con
:: %opt%ECHO Esc[2A
IF not errorlevel=1 ECHO. drive %1 valid
IF errorlevel=1 ECHO. drive %1 invalid
::
Für alle die, die es wissen wollen.
gefunden auf http://home7.inet.tele.dk/batfiles/
Danke
Hab da was gefunden, womit es endlich klappt.
:: isdrive.bat
:: parm1 is drive letter without colon
@ECHO off
CTTY nul
%COMSPEC%/F/CDIR/ADH/W/-P %1: |FIND.EXE ":\" >nul
CTTY con
:: %opt%ECHO Esc[2A
IF not errorlevel=1 ECHO. drive %1 valid
IF errorlevel=1 ECHO. drive %1 invalid
::
Für alle die, die es wissen wollen.
gefunden auf http://home7.inet.tele.dk/batfiles/
Danke