2016-08-10 3 views
2

Ich wollte kleine Batch-Datei schreiben nach Text in mehreren Textdateien in einem Verzeichnis suchen, und nach der Suche schließt es sofort. Also, ich googelte und die häufigste Antwort, die ich stieß, war Hinzufügen pause einige Leute schlagen auch vor, mit set /p= oder cmd Aber keiner von ihnen hat funktioniert. Platziere ich pause im falschen Bereich der Datei?cmd schließt immer noch nach dem Hinzufügen von Pause

@echo off 
findstr /m "softban soft ban" *.txt > results.txt 
if %errorlevel% == 0(
echo Found a match, logged file in results.txt 

)else(
echo no matches found 

) 
pause 

aktualisiert Code:

@echo off 
findstr /m "softban soft ban" *.txt > results.txt 
if %errorlevel% EQU 0 (echo Found a match, logged file in results.txt) 
if %errorlevel% NEQ 0 (echo no matches found) 
echo press any key to exit... 
pause >nul 
+0

Sie brauchen Leerzeichen zwischen den Klammern und sonst. ') else (' – Squashman

+0

Verwenden Sie nicht die Klammern. Verwenden Sie nur die wenn Equal == und wenn Not equal! = .... Ie verwenden 2 if-Anweisungen anstelle von if-else Anweisungen. –

+0

@JoeDF - Warum? Auch , das ist Batch; es gibt keinen '! = 'Operator. – SomethingDark

Antwort

3

Sie brauchen Räume dazwischen Klammern. Probieren Sie diesen Code aus.

@echo off 
findstr /m "softban soft ban" *.txt > results.txt 
IF %ERRORLEVEL%==0 (
    echo Found a match, logged file in results.txt 
) ELSE (
    echo not found 
) 
pause 
+0

danke für den Code, aber ich habe meins aktualisiert Ich werde aber trotzdem upvote. – andyADD

Verwandte Themen