[Batch] Überprüfen ob CD eingelegt ist

Dieses Thema [Batch] Überprüfen ob CD eingelegt ist im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von flashgod, 8. Juni 2005.

Thema: [Batch] Überprüfen ob CD eingelegt ist Hallo, ich hab schon mehrere ansätze aber noch keine Lösung. Ich will kontrollieren ob eine CD bzw Diskette...

  1. Hallo,

    ich hab schon mehrere ansätze aber noch keine Lösung.
    Ich will kontrollieren ob eine CD bzw Diskette eingelegt ist.

    Mein ansatz war folgender
    dir a: >chk.txt
    Wenn datei leer nix eingelegt.. leider hab ich nix zum überprüfen der datei größe gefunden. Könntet ihr mir weiterhelfen oder gleich einen besseren ansatz zeigen?

    Danke
     
  2. Das ist ganz schlecht.. dann muss es anderst irgendwie gehen.
    Den es sollte mit einer ganz simplen batch gehen ohne zusatz tools.

    Vielleicht könnte ein Crack mit diesem ansatz etwas anfangen.

    Ich erstalle ja eine liste aller Dateien auf der CD bzw Diskette
    dir a: >chk.txt
    nun könnte ich diese mit Find kontrolliern.
    Wenn keine CD bzw Diskette eingelegt war ist die datei leer
    Wenn doch steht da immer das Wort Datei

    Jetz bräuchte ich nur noch die richtige syntax für etwas das ungefähr so aussieht.

    IF Find /i /c Datei chk.txt == 1 Echo CD eingelegt

    Vielleicht jetzt jemand eine idee?

    Vielen dank für eure hilfe!
     
  3. hp
    hp
    wieso testest du das nicht einfach mal aus ... der ansatz mit dir a: ist ja schon mal nicht falsch. wenn kein lesbares medium im laufwerk drin ist gibt ein einfaches dir a: folgenden text aus Das Gerät ist nicht bereit. also kannst du in der umleitungsdatei mit find nach dem text Das Gerät ist nicht bereit. suchen und so wie du es schon schreibst, weiter entscheidungen davon abhängig machen ... das selbe gillt für cd-laufwerke, dvd-laufwerke, wechseldatenträger usw.

    greetz

    hugo
     
  4. Ich weiß schon das ich naaaaah dran bin.
    Aber ich komm mit der IF abfrage nicht klar.

    Progge normal nur mit VB und da geht es halt so wie ich will.
    Mit Batch bekomme ich halt mit dieser abfrage einenen fehler

    IF Find /i /c Datei chk.txt == 1 Echo CD eingelegt

    Mir müsste nur jemand sagen wie ich eine datei nach einen bestimmten string durchsuche, wenn dieser da ist Goto x wenn nicht Goto y.

    Oder gibt es in Batch einen Error event wenn nix eingelegt ist bringt er ja einen fehler.. das man vielleicht darauf zurück greift?

    Danke für eure hilfe
     
  5. hp
    hp
    dir a: >chk.txt wenn keine diskette eingelegt ist gibt windows den satz Das Gerät ist nicht bereit. aus und durch die umleitung > wird dies in die datei chk.txt gecshrieben. nun kannst du mit find nach dem satz suchen und zwar ganz einfach so

    find Das Gerät ist nicht bereit.  < chk.txt > Gerät_nicht_bereit.txt

    duch den winkel < wird die datei durch find nach dem in stehenden text durchsucht und durch den > winkel schreibst du den text nochmal in eine datei namens Gerät_nicht_bereit.txt. nun kannst du mit if exist nach der datei fragen und dann ein echo ausgeben oder sonstwas machen. die batch siet dann so aus

    @echo off
    dir a: > chk.txt
    find Das Gerät ist nicht bereit.  < chk.txt > Gerät_nicht_bereit.txt
    if exist Gerät_nicht_bereit.txt echo Bitte Diskette/CD in Laufwerk einlegen ...

    das packst du in eine .bat datei und gut ist ... übrigens: die genaue syntax zu den einzelnen batchbefehlen gibt es in der windowshilfe ...

    greetz

    hugo
     
  6. Hallo,

    Auf dem root der CD eine Datei anlegen cd (mit oder ohne Inhalt)

    mit folgendem Befehl wird die existenz abgeprüft und in eine Variable geschrieben:

    Code:
    for %%a in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%a:\cd set CDROM=%%a:
    Gruß
    Sven
     
  7. Danke euch beiden

    Mit beiden Tipps werd ich es auf jedenfall schaffen!
     
  8. Hallo, jetz noch ein kleines Problem.

    Es klappt es alles super.

    Bis auf diese kleinigkeit dieser Befehl:
    find Das Gerät ist nicht bereit. < chk.txt > Gerät_nicht_bereit.txt

    Erstellt mir immer die Datei, In dem fall er findet den Text schreibt er das Suchergebnis hinein. Wenn er es nicht findet erstellt er eine leere datei.. kann man das irgendwie umgehen ? Sonst klappt das ganze wieder nicht :'(

    Aber nochmals danke für eure hilfe ihr seid super!
     
  9. Glaub mir, mit einer Batch bekommst Du das nicht vernünftig hin. Mit obigem Tool kannnst Du die Errorlevel auswerten.
    Nichtsdestotrotz schreib ich Dir jetzt mal was hin, womit es zumindest geht:

    @echo off
    dir a: | find Verzeichnis>a_chk.bat
    echo set verz=%%0>verzeichnis.bat
    call a_chk.bat
    del verzeichnis.bat
    del a_chk.bat
    if %verz%/==/ echo Keine Diskette eingelegt...
    if %verz%/== Verzeichnis/ echo Diskette ist eingelegt...
    pause

    Bei nicht eingelegter Diskette kommt allerdings noch eine unschöne Systemmeldung hinzu, die Du nicht zum Verschwinden bringst: Ein an das System angeschlossenes....blabla
    Das funktioniert so nur unter XP, andere Betriebssysteme bringen andere Meldungen, die im Einzelfall ermittelt werden müssen.
     
Die Seite wird geladen...

[Batch] Überprüfen ob CD eingelegt ist - Ähnliche Themen

Forum Datum
[BATCH] Nach wechsel von Energiemodus Monitor aufwecken Webentwicklung, Hosting & Programmierung 8. Juli 2014
[Batch] In Textdatei suchen und ersetzen Webentwicklung, Hosting & Programmierung 4. Okt. 2006
[BATCH] Button von Anwendung betätigen! Windows XP Forum 4. Sep. 2005
[Batch] Umleiten in eine *.txt ohne Zeilenumbruch? Webentwicklung, Hosting & Programmierung 20. Mai 2005
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016