he-man
Goto Top

Mit if-Abfrage text-datei auslesen und werten

Hallo,
ich habe eine text datei, der soll ausgelesen werden, wenn es das Wort "Error" findet, soll der Taschenrechner (calc.exe) gestartet werden, wenn nicht dann soll Editor (notepad.exe) starten.

Die text datei hat den namen, ergebnis.txt

"
set /p antwort=<ergebnis.txt

if "%antwort%" equ "ERROR"

goto ok

:ok
calc.exe
exit

else

:nook
notepad.exe
exit

"

DANKE

Content-Key: 178291

Url: https://administrator.de/contentid/178291

Printed on: April 19, 2024 at 22:04 o'clock

Member: bastla
bastla Jan 02, 2012 at 22:26:13 (UTC)
Goto Top
Hallo He-man und willkommen im Forum!

Alles ab der Zeile 2 ließe sich auf
if "%antwort%" equ "ERROR" (calc.exe) else (notepad.exe)
reduzieren ...
Noch als Anmerkung: Ein "exit" ohne "/b" ist in den allermeisten Fällen sinnlos - verwende eher "goto :eof" ...

Grüße
bastla

P.S.: Die passende lässt sich auch nachträglich noch hinzufügen ... face-wink
Member: He-man
He-man Jan 03, 2012 at 23:49:24 (UTC)
Goto Top
sorry, der Fall hat etwas verändert.

Die text Datei "ergebnis.txt" soll durchsucht werden, wenn das Wörtchen "ERROR" (das ERROR befindet sich immer an verschiedene stelle) findet soll das eine starten, sonst das andere.

ich habe versucht eine Lösung zufinden, es klappt leider nicht:

@for /f "Tokens=*" %%i in ('find /I "ERROR" ergebnis.txt^') do @set V=%%i
@if not "%V%" EQU "ERROR" goto ok

:ok
@echo.
del /f /q erbnis2.txt
@echo.
@pause
exit /b

:eon
@echo.
exit /b
@echo.
@pause

Danke.
Member: bastla
bastla Jan 03, 2012 at 23:59:26 (UTC)
Goto Top
Hallo He-man!

Nicht geändert hat sich leider die fehlende "Code"- ...
Wenn es genügt, festzustellen, ob das Wort "ERROR" in der Datei vorkommt, dann (ungetestet) etwa so:
findstr "ERROR" ergebnis.txt >nul && (  
    echo kommt vor
) || (
    echo kommt nicht vor
)
Was im jeweiligen Fall passieren soll, kannst Du ja anstelle der "echo"-Zeilen eintragen ...

Grüße
bastla