Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

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

Frage Entwicklung Batch & Shell

Mitglied: Geplagter

Geplagter (Level 1) - Jetzt verbinden

04.03.2007, aktualisiert 05.03.2007, 5752 Aufrufe, 9 Kommentare

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.
Mitglied: Dani
04.03.2007 um 21:16 Uhr
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:
01.
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
Bitte warten ..
Mitglied: bastla
04.03.2007 um 21:55 Uhr
@Dani

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

Grüße
bastla
Bitte warten ..
Mitglied: Dani
04.03.2007 um 22:13 Uhr
@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
Bitte warten ..
Mitglied: Geplagter
04.03.2007 um 22:38 Uhr
Leider gehen beide Varianten nicht.
Falls keine Diskette eingelegt ist, kommt dieses unschöne Windowspop.
Kann man das vielleicht (kurzzeitig) unterdrücken?
Bitte warten ..
Mitglied: Dani
04.03.2007 um 23:09 Uhr
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
Bitte warten ..
Mitglied: Geplagter
05.03.2007 um 00:13 Uhr
So, habs endlich hinbekommen, dank eurer Hilfe.
Code:
-----------------------8<--------------------------
dir a: | find "A:"

if errorlevel 0 (
if errorlevel 1 (goto noFloppy)
goto floppy
)
-----------------------8<--------------------------
Bitte warten ..
Mitglied: bastla
05.03.2007 um 07:05 Uhr
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:
01.
dir a:>nul 2>nul && goto :Floppy || goto :NoFloppy 
02.
:NoFloppy 
03.
echo Keine Diskette in Laufwerk A: gefunden 
04.
... 
05.
... 
06.
:Floppy 
07.
echo Diskette in Laufwerk A: wird verwendet. 
08.
... 
09.
...
Den "goto :noFloppy"-Teil habe ich natürlich nur zu Demonstrationszwecken angeschrieben.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
05.03.2007 um 07:06 Uhr
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:
01.
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....
[Edit] P.P.S. Moin bastla, musst Du immer rechts überholen am frühen Montagmorgen?

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

Ich werde jetzt nicht auf den Thread-Titel verweisen (was auch sinnlos wäre, da ich Dich falsch verstanden hatte ), 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
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Mehrere Grafiken mit Batch umbenennen (3)

Frage von SeraphinaJ zum Thema Batch & Shell ...

Batch & Shell
gelöst Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
gelöst Telefonanlage gesucht (37)

Frage von Xaero1982 zum Thema TK-Netze & Geräte ...

Windows Netzwerk
Anmeldung an Domäne schlägt oft fehlt (Fehlermeldung: falsches Passwort) (24)

Frage von harald.schmidt zum Thema Windows Netzwerk ...

Exchange Server
gelöst Wie freigegebenes Postfach immer als primäre Sendeadresse verwenden? (18)

Frage von Flinxit zum Thema Exchange Server ...

Microsoft Office
Outlook 2016 - Keine Mails sichtbar (nach Suche schon) (17)

Frage von Hirschix3 zum Thema Microsoft Office ...