Supportnet Computer
Planet of Tech

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

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.

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

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.

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: