2016-07-11 2 views
1

Ich habe eine Batch-Datei, mit der der Benutzer etwas eingibt, dann nimmt, was sie eintippte und es als Wert setzt, nehmen wir an, der Wert heißt %input%.Wie nach bestimmten Texteingabe in Batch-Datei zu prüfen?

Ich möchte die Batch-Datei für bestimmte Wörter im %input% Wert prüfen und nutzen dann die goto Befehl.

Wer hat irgendwelche Lösungen?

Danke.

EDIT

Hier einige Code, den ich verwende:

@echo off 
title Test 
:Loop 
Set /p Input="" 
if "%input%"=="word *" goto function 

Ich brauche Hilfe herauszufinden, gerade heraus, wie für "word" im %input% Wert zu überprüfen.

Hoffentlich löscht das einige Dinge.

+0

[diese] (http://stackoverflow.com/a/36236765/2152082) sollte auf Ihre Bedürfnisse leicht anpassen (nur die Variable verarbeiten statt die letzte Zeile einer Datei lesen) – Stephan

+0

Bitte editiere deine Frage und poste etwas Code! – Hackoo

Antwort

1

einen Versuch für diesen Code geben:

@echo off 
:MainLoop 
Color 0B 
Cls 
set /p "Input=Type something here " 
echo %Input%|findstr /i "\<hello\>">nul && goto HelloFunction || goto NoHelloFunction 

:HelloFunction 
cls 
Color 0A 
echo I am into The Hello Function 
pause 
Goto MainLoop 

:NoHelloFunction 
cls 
Color 0C 
echo I am not into the Hello Function 
pause 
Goto MainLoop 

Erklärung

\< und \> bedeutet "Wortgrenzen", diese Fehlalarme (Hallo o vermeidet, C Hallo, ...)

>nul leitet die gefundene Zeichenfolge um, um den Bildschirm frei zu halten.

&& führt den Befehl set nur, wenn vorherige Befehl (findstr) erfolgreich war.

|| bedeutet anders und gehe auf eine andere Funktion

+0

Danke Hackoo, der Code funktioniert hervorragend. –

+0

@HerinAlenta Sie sind willkommen :) – Hackoo