Wie um zu überprüfen, ob die Eingabe des Benutzers endet mit einer bestimmten Zeichenfolge in batch (.bat) - Skript
Ich Schreibe ein batch-Skript, wo, wenn der Benutzer die Eingabe ist leer oder doesnot endet mit "DTO" ich bitte Benutzer eingeben DTO Namen wieder.
:INPUT
SET /P INPUTDTO=Enter the DTO:
IF "%INPUTDTO%"=="" (
IF "%INPUTDTO%" ??????? (
GOTO NODTO
)
)
:NODTO
ECHO ERROR: Please enter a valid DTO.
GOTO INPUT
Wie um zu überprüfen, ob die Eingabe des Benutzers endet mit "DTO"
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den vorhandenen INPUTDTO Wert sollte wohl gelöscht werden, weil Sie SET /P bewahren Sie den vorhandenen Wert, wenn der Benutzer nichts eingeben.
Fügen Sie die
/I
wechseln Sie zu der IF-Anweisung, wenn Sie möchten, dass der Vergleich der groß-und Kleinschreibung.set "INPUTDTO="
benötigt? Danke.Wenn Sie offen sind, andere Software, die Sie verwenden können, grep von GnuWin32. Es wird Sie wieder 1,5 MB
Die Logik ist ganz einfach: zuerst entfernen Sie alle vorkommen von "DTO" von der original-string und speichern Sie es in eine andere variable. Dann vergleichen Sie es mit dem original
INTPUTDTO
variable hinzufügen "DTO" am Ende.Auch, wenn Sie don ' T care about Skript Komplexität, dann nutzen Sie einfach dieses:
Vielleicht können Sie die substring-ing-Fähigkeiten, wie hier beschrieben:Was ist der beste Weg, um eine Teilzeichenkette in eine batch-Datei?.
Dann vergleichen, dass die Teilfolge gegen "DTO".