Ergebnis 1 bis 7 von 7
  1. #1
    Mitglied
    Registriert seit
    Nov 2014
    Beiträge
    6
    Danksagungen
    0

    Standard Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Hi,

    ich hab mir aus verschiedenen Programmcodes versucht was zusammenzuschustern aber irgendwie funktioniert das noch nicht ganz, ich glaub der Fehler liegt in der If/Else Abfrage. Btw. ich hab absolut KEINEN PLAN was ich da zusammengschrieben hab, ich kann bisschen vba in excel aber mehr auch nicht.

    Sinn der Batch datei:
    In einer Textdatei.txt auf einem bestimmten Pfad steht entweder eine 1 oder eine 0. Die Batch datei soll den Inhalt prüfen und falls eine 1 drinsteht ein "Besetzt!" ausgeben. Wenn eine 0 drinsteht soll ein "Frei!" ausgegeben werden.


    @echo off

    SET /p variable=<C:\...\test.txt

    if /p EQU "1" (Echo msgbox"Besetzt!",0,"Launcher!" >Meldung1.vbs
    ping localhost -n 3 >NUL
    start Meldung1.vbs) else (Echo msgbox"Frei!",0,"Launcher!" >Meldung0.vbs
    ping localhost -n 3 >NUL
    start Meldung0.vbs)


    Ich wollte ein waschechtes Meldungsfenster haben deswegen hab ich für die ausgabe so eine komische Befehlskette drin. Bisher erkennt meine if- Bedingung einfach nicht wenn da eine 1 drinsteht und spuckt immer die zweite Meldung aus.

    Kann mir jemand vielleicht mit eins-zwei sonderzeichen weiterhelfen?

    Dankeeee

  2. #2
    Mitglied
    Registriert seit
    Sep 2008
    Beiträge
    1.697
    Danksagungen
    38

    Standard Re: Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Sonderzeichen werden dir da kaum helfen, wenn du nicht angibst, was verglichen werden soll. Außerdem kennt IF, soweit ich weiß, als Parameter nur I und kein P.
    Geändert von m6ld8ywqya (18. 05. 2017 um 11:53 Uhr)

  3. #3
    Mitglied

    (Threadstarter)


    Registriert seit
    Nov 2014
    Beiträge
    6
    Danksagungen
    0

    Standard Re: Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Zitat Zitat von m6ld8ywqya Beitrag anzeigen
    Sonderzeichen werden dir da kaum helfen, wenn du nicht angibst, was verglichen werden soll. Außerdem kennt IF, soweit ich weiß, als Parameter nur I und kein P.
    Ganz einfach, es soll geprüft werden ob in der Test.txt eine 1 steht, wenn ja soll die Ausgabe "Besetzt" ausgegeben werden, wenn nicht soll die Ausgabe "Frei" ausgegeben werden.

    Vereinfacht:
    IF [Der Inhalt von Test.txt] = "1" Dann Ausgabe:"Besetzt"
    Else Ausgabe:"Frei"


    Bei meinem obrigen Code spuckt er jedesmal nur die "Else" Ausgabe aus. Also stimmt was mit der Überprüfung nicht. Kann es sein das die Variablenzuordnung nicht funktinoiert? Wenn ich /i anstelle /p verwende macht er garnichts.
    Geändert von Crakkpot (18. 05. 2017 um 12:47 Uhr)

  4. #4
    Mitglied Avatar von sleeep
    Registriert seit
    Nov 2009
    Ort
    in the ☁
    Beiträge
    166
    Danksagungen
    0

    Standard Re: Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Wie bereits erwähnt fehlt dir gänzlich die Überprüfung auf den Inhalt der Variablen.

    Hier ein funktionierendes Beispiel, der Einfachheit halber habe ich für die Ausgabe der MessageBox msg.exe missbraucht, um die Erstellung und Ausführung der VBS-Datei zu sparen.

    Code:
    @ECHO OFF
    SET /P bit=<C:\...\test.txt
    IF %bit%==1 (MSG %USERNAME% "Besetzt!") ELSE IF %bit%==0 (MSG %USERNAME% "Frei!")
    ich hoffe, das hilft dir weiter.

    mfg sleeep

  5. #5
    大麻のゴブリン Avatar von maddog
    Registriert seit
    Feb 2000
    Ort
    アイルランド
    Beiträge
    189
    Danksagungen
    6

    Standard Re: Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Zitat Zitat von Crakkpot Beitrag anzeigen
    In einer Textdatei.txt auf einem bestimmten Pfad steht entweder eine 1 oder eine 0. Die Batch datei soll den Inhalt prüfen und falls eine 1 drinsteht ein "Besetzt!" ausgeben. Wenn eine 0 drinsteht soll ein "Frei!" ausgegeben werden.
    Was verstehst du unter einem "bestimmten Pfad"? Eine Textdatei besteht aus Zeilen mit Wörtern, Zahlen usw., nicht Pfaden. Mit dem Code
    Code:
    SET /p variable=<C:\...\test.txt
    wird nur die erste Zeile der Textdatei eingelesen. Das beste wäre, du postest die Textdatei oder ein paar Zeilen hier rein und zeigst an diesem Beispiel, was geschehen soll.

  6. #6
    Mitglied

    (Threadstarter)


    Registriert seit
    Nov 2014
    Beiträge
    6
    Danksagungen
    0

    Thumbs up Re: Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Zitat Zitat von sleeep Beitrag anzeigen
    Wie bereits erwähnt fehlt dir gänzlich die Überprüfung auf den Inhalt der Variablen.

    Hier ein funktionierendes Beispiel, der Einfachheit halber habe ich für die Ausgabe der MessageBox msg.exe missbraucht, um die Erstellung und Ausführung der VBS-Datei zu sparen.

    Code:
    @ECHO OFF
    SET /P bit=<C:\...\test.txt
    IF %bit%==1 (MSG %USERNAME% "Besetzt!") ELSE IF %bit%==0 (MSG %USERNAME% "Frei!")
    ich hoffe, das hilft dir weiter.

    mfg sleeep
    Danke danke, jetz hab ich begriffen wie man die variablen deffiniert etc.
    Habs so gelöst:

    @echo off

    SET /p INHALT=<C:\....\test.txt

    if %INHALT%==1 (
    Echo msgbox"Besetzt !",0,"Titel!" >test.vbs
    ping localhost -n 3 >NUL
    start test.vbs
    ) else (
    Echo msgbox"FREI!",0,"Titel!" >test.vbs
    ping localhost -n 3 >NUL
    start test.vbs
    )


    Wie gesagt hatte einfach keine Ahnung vom Syntax und wenn man das nicht so drauf hat kommen einem die Beispielprogrammcodes im Internet alle einfach wiedersprüchlich vor weil jeder eine andere Problemstellung hat und was anderes programmiert.

    Danke nochmals

  7. #7
    Mitglied
    Registriert seit
    Sep 2008
    Beiträge
    1.697
    Danksagungen
    38

    Standard Re: Batch datei soll txt.datei prüfen und jeh nach Inhalt Antwort ausgeben.

    Zitat Zitat von Crakkpot Beitrag anzeigen
    Wie gesagt hatte einfach keine Ahnung vom Syntax und wenn man das nicht so drauf hat kommen einem die Beispielprogrammcodes im Internet alle einfach wiedersprüchlich vor weil jeder eine andere Problemstellung hat und was anderes
    Äh, in der Regel hilft dann:

    <Befehl> /?

  8.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •