2 Batch-String-Fragen

8

1) Gibt es eine eingebaute Funktion, die mir sagen kann, ob der Inhalt einer Variablen nur Großbuchstaben enthält?

2) Gibt es eine Möglichkeit zu sehen, ob eine Variable eine Zeichenkette enthält? Zum Beispiel würde ich gerne sehen, ob die Variable% PATH% Ruby enthält.

    
Geo 14.04.2010, 04:46
quelle

2 Antworten

15

Für Teil 1 ist findstr die Antwort. Sie können die Regex-Funktion zusammen mit errorlevel verwenden:

%Vor%

In diesem Fall ist es wichtig, dass Sie nicht ein Leerzeichen zwischen dem echo %xxokay% und dem Pipe-Zeichen | haben, da das dazu führt, dass ein Leerzeichen ausgegeben wird, das nicht Ihr ist akzeptable Zeichen.

Für Teil 2 ist findstr auch die Antwort ( /i ignoriert Groß- und Kleinschreibung, die Sie vielleicht wollen - lassen Sie sie aus, wenn Groß- und Kleinschreibung übereinstimmen muss):

%Vor%

Sie können dann verwenden:

%Vor%

, um das Verhalten Ihres Skripts in beiden Fällen zu ändern.

Das Code-Segment für den Ruby-Check könnte beispielsweise so aussehen:

%Vor%     
paxdiablo 14.04.2010, 05:46
quelle
1

Dies ist keine Batch-Lösung (cmd.exe), sondern eine einfachere Alternative mit VBScript, das standardmäßig bereits auf Ihrem System installiert ist.

%Vor%

Speichern Sie die Datei als myscript.vbs und führen Sie sie so aus

%Vor%

Das Verwenden von Stapel (cmd.exe) für die Zeichenfolgenbearbeitung ist das letzte, was Sie tun möchten, es sei denn, Sie sind absolut eingeschränkt. Verwenden Sie andernfalls das geeignetere Tool für den Job.

    
ghostdog74 14.04.2010 06:36
quelle

Tags und Links