2009-07-28 6 views
0

ich bin eine Batch-Datei erstellen und nur etwas, was ich wissen will:Finden und prüfen, ob negative Write

meine (WINDOWS) Batch-Datei ‚Hallo‘ suchen, muss in einer Textdatei.

Wenn es dort ist, sollte es den GOTO-Befehl irgendwo anders in der Batch-Datei verwenden.

Wenn es nicht da ist, sollte es "Hallo" auf eine neue Zeile schreiben.

Wie können Sie das tun?

Ich weiß, dass Sie FIND und ERRORLEVEL verwenden können, aber ich weiß nicht wie.

+0

Welche Art von Batch-Versuchen - für Windows oder für bash oder für was? – sharptooth

+0

bash hat kein GOTO –

+0

Bash hat keine Batch-Dateien, es ist ein Shell-Skript. Und es ist eine ausgewachsene Skriptsprache. – ewanm89

Antwort

1

Wenn Sie Windows Batch-Dateien verwenden, überprüfen Sie, ob Sie Helfer wie die Unxtools verwenden können. Sie fügen eine Menge Funktionalität hinzu.
Dann können Sie ein grep verwenden und überprüfen Sie die Errorlevel (Rückgabewert) ...

EDIT:
Hier einige Code, den Sie eine Idee zu geben:

find /i /c "hello" file.txt 
if %errorlevel% equ 0 goto :found 
echo hello 
+0

Ich glaube nicht, dass Sie unxtools brauchen, ich denke, Sie können den FIND-Befehl verwenden, aber ich bin mir nicht sicher. Und bitte gib den Code an. –

+0

Du brauchst sie nicht - aber ich empfehle sie dir anzuschauen! – tanascius

+0

was wäre wenn% errorlevel% ... tun? wird es GOTO, wenn es gefunden wird? –

0

Das ist nicht sein kann die hilfreichste Antwort ... aber muss es eine Batch-Datei sein? Es klingt, als ob Perl besser zu dem passt, was Sie zu tun versuchen.

+0

nah, ich denke das ist nicht nötig. Ich dachte, du könntest etwas mit FIND und ERRORLEVEL verwenden, aber ich weiß nicht wie. –

0

diese Datei ein

echo off 
find /c "hello" myfile.txt > nul 
if errorlevel 1 goto notfound 
echo hello 
:notfound 
+0

Nein, ich möchte es nicht so machen, wenn es gefunden wird, dann benutze GOTO. wenn es NICHT gefunden wird, dann muss es in die Textdatei in einer neuen Zeile geschrieben werden. –

+0

Komm schon ... er gab dir eine Lösung, du kannst es so anpassen wie du willst ... Ich denke nicht, dass du erwarten kannst, dass andere Leute deinen Code schreiben. Werfen Sie einen Blick auf http://www.allenware.com/icsw/icsw070.htm zum Anhängen von Text an eine Datei. – fresskoma