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, 5715 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...