Batch-Programm finden Sie string in variable
Habe ich versucht zu finden, die Lösungen in vielen Orten, aber nicht finden konnte, spezifische Antwort.
Erstelle ich ein batch-Skript.
Folgendes ist mein code bisher
@echo off
SETLOCAL EnableDelayedExpansion
cls
for /f "delims=" %%a in ('rasdial EVDO cdma cdma') do set "ras=!ras! %%a"
findstr /C:"%ras%" "already"
if %errorlevel% == 0
(
echo "it says he found the word already"
)
else
(
echo "it says he couldn't find the word already"
)
AUSGABE :
FINDSTR: Cannot open already
The syntax of the command is incorrect.
Ich versuche zu finden, das Wort 'schon' in der variable 'ras',
Scheint das problem zu sein
findstr /C:"%ras%" "schon"
Versuchte ich mit
findstr "%ras%" "schon"
aber das funktioniert nicht besonders.
InformationsquelleAutor Sid1024 | 2014-11-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Probleme in deinem code.
Die erste ist, wie
findstr
funktioniert. Für jede Zeile in der Eingabe, prüft Sie, ob die Zeile enthält (oder nicht) die angegebene literal oder einen regulären Ausdruck. Die input-lines getestet wird, kann gelesen werden, aus einer Datei oder von der Standardeingabe-stream, aber nicht aus den Argumenten in der Kommandozeile. Der einfachste Weg, es zu pipe die Zeile in derfindstr
BefehlDas zweite problem ist, wie die
if
Befehl geschrieben wird. Die öffnende Klammer muss in der gleichen Zeile, die die Bedingung, dieelse
- Klausel müssen in der gleichen Zeile, die die erste schließende Klammer und die öffnende Klammer in derelse
- Klausel müssen in der gleichen Zeile, die dieelse
- Klausel (siehe hier)Aber um zu testen, ob der string in der Variablen, es ist leichter zu tun,
Dies wird testen, ob der Wert in der Variablen ist gleich der auf den gleichen Wert mit der Zeichenfolge
already
ersetzt durch nichts.Info zum Variable Bearbeiten/Ersetzen Aussehen hier.
find
und ähnliche, aber dieser ist sehr schnell und sehr sauber, und einfach zu verstehen!!!InformationsquelleAutor MC ND
Scheint, dass ich bereits die Lösung gefunden..
und @Karata ich kann nicht mit
weil ich Schreibe Skript für mehrere Fälle und ich wollen speichern Sie die Ausgabe in eine variable..trotzdem Danke.
InformationsquelleAutor Sid1024
"Die syntax des Befehls ist nicht korrekt." gemeldet wird, für die 'anderen', der nicht im batch-Befehlszeile.
Für
Hier str ist das literal gesucht werden soll, und ist die Datei-Namen für die Suche. So dies nicht, Ihre Anforderung zu erfüllen.
Ich denke, das folgende ist, was Sie brauchen.
InformationsquelleAutor Karata