geplagter

Batch - Überprüfen, ob eine Diskette eingelegt ist.

Der Titel sagt eigentlich alles.
Ich hatte zuvor versucht, eine dummy-Datei auf die Diskette zu schreiben und dann zu prüfen ob sie funktioniert,
aber falls keine Diskette eingelegt ist, gibt Windows so eine nervige laute Warnung aus und das ist nicht sehr schön.
Ich hoffe einer von euch weiß eine besser Lösung.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 53163

Url: https://administrator.de/forum/batch-ueberpruefen-ob-eine-diskette-eingelegt-ist-53163.html

Ausgedruckt am: 21.05.2025 um 22:05 Uhr

Dani
Dani 04.03.2007 um 21:16:52 Uhr
Goto Top
G' Abend,
also der Titel hat mit dem Text irgendwie nichts zu tun oder aber ich schlaf schon.
Willst du nun etwas auf die Disk schreiben oder nur checken, ob eine drinne ist?!

Ob eine Disk drinne ist, kann per Batch mit einer Zeile gelöst werden:
if exist "A:\NUL"  
Ich weiß grad bloß nicht, ob es "NUL" oder "NULL" heißt! Diese Datei exstiert auf jeder Disk, egal formatiert oder alles gelöscht.


Grüße
Dani
bastla
bastla 04.03.2007 um 21:55:17 Uhr
Goto Top
@Dani

"NUL" ist keine Datei, sondern ein Device, aber in diesem Fall ohnehin entbehrlich:
if exist a: ...
tut's auch.

Grüße
bastla
Dani
Dani 04.03.2007 um 22:13:26 Uhr
Goto Top
@bastla
Hab's mir schon gedacht. Aber es existert doch in jedem Ordner irgendwie eine Datei die man nicht sieht. Oder verwechsle ich das?!


Grüße
Dani
Geplagter
Geplagter 04.03.2007 um 22:38:10 Uhr
Goto Top
Leider gehen beide Varianten nicht.
Falls keine Diskette eingelegt ist, kommt dieses unschöne Windowspop.
Kann man das vielleicht (kurzzeitig) unterdrücken?
Dani
Dani 04.03.2007 um 23:09:44 Uhr
Goto Top
das ist aber seltsam....probier es mal mit "dir A:". Somit erscheint kein Dialog von Windows. Ich hätte dir den Batch geschrieben, aber da ich morgen für 4 Tage weg bin sollte ich schauen, dass ich fertig werde mit packen. Sry....


Grüße
Dani
Geplagter
Geplagter 05.03.2007 um 00:13:30 Uhr
Goto Top
So, habs endlich hinbekommen, dank eurer Hilfe.
Code:
8<--------------------------
dir a: | find "A:"

if errorlevel 0 (
if errorlevel 1 (goto noFloppy)
goto floppy
)
8<--------------------------
bastla
bastla 05.03.2007 um 07:05:22 Uhr
Goto Top
Hallo Geplagter!

Mir ist auch nicht klar, warum die "if exist"-Vorgangsweise nicht klappt, aber wie auch immer ...
Du könntest die Methode mit "dir" noch etwas kürzer fassen:
dir a:>nul 2>nul && goto :Floppy || goto :NoFloppy
:NoFloppy
echo Keine Diskette in Laufwerk A: gefunden
...
...
:Floppy
echo Diskette in Laufwerk A: wird verwendet.
...
...
Den "goto :noFloppy"-Teil habe ich natürlich nur zu Demonstrationszwecken angeschrieben.

Grüße
bastla
Biber
Biber 05.03.2007 um 07:06:02 Uhr
Goto Top
Moin Geplagter,

kann sein, dass M$ es wirklich je nach OS-Variante unterschiedlich handhabt.
Ein "if exist a:\*.*" bei nicht eingelegter Diskette bringt bei mir (WIN XP SP2) auch ein hässliches Popupfenster "Es ist kein Datenträger eingelegt..." .
Kenne ich von keiner vorangegangenen CMD.exe/Command.com-Version.

Anyhow - ein "Dir a:" bringt zwar einen Fehler "Das Gerät ist nicht bereit.", aber kein Popup.

Somit bist Du mit Deinem Fragment auf dem richtigen Weg. Etwas eingedampft sähe das so aus:
dir a: 2>nul|find "A:">nul ||goto nofloppy  

Gruss Biber
P.S @Dani
Aber es existert doch in jedem Ordner irgendwie eine Datei die man nicht sieht.
Ich möchte jetzt ungern wieder auf Nessie, Elektrosmog und den Aufschwung verweisen, weil Geplagter da ein wenig sensibel ist, aber.... face-wink
[Edit] P.P.S. Moin bastla, musst Du immer rechts überholen am frühen Montagmorgen? face-big-smile

Das "dir a:>nul 2>nul && goto floppy" wird schiefgehen, wenn eine leere Diskette eingelegt ist (Gerät ok, aber keine Dateien vorhanden).
[/Edit]
bastla
bastla 05.03.2007 um 10:45:06 Uhr
Goto Top
@Biber

Ich werde jetzt nicht auf den Thread-Titel verweisen (was auch sinnlos wäre, da ich Dich falsch verstanden hatte face-big-smile), sondern Dir einfach wieder einmal Recht geben ...

Bei meinem XP Pro SP2 tut sich übrigens fensterlmäßig nix.

@Dani

Die Schreibweise "if exist D:\Test\nul" würde zB Sinn machen, wenn ich feststellen wollte, ob es sich bei "D:\Test" um ein Verzeichnis oder eine Datei handelt.

Grüße
bastla