
47674
01.09.2009
Batch - IF variable beinhaltet Zeichenfolge
Prüfen, ob eine Variable eine festgelegte Zeichenfolge beinhaltet.
Hallo zusammen,
ich möchte gerne überprüfen, ob eine Buchstabenfolge in einer Variablen vorkommt. Die Variable heißt currentfile und enthält einen Dateinamen mit Dateityp-Erweiterung. Wenn es sich um ein PDF handelt (also %currentfile% beinhaltet .pdf) soll ein Befehl ausgeführt werden.
Mit kann ich zwar prüfen, ob currentfile und .pdf 100%ig übereinstimmen, jedoch nicht, ob .pdf nur ein Teil von currentfile ist.
Ist das irgendwie möglich?
Vielen Dank un Gruß
daedalus
Hallo zusammen,
ich möchte gerne überprüfen, ob eine Buchstabenfolge in einer Variablen vorkommt. Die Variable heißt currentfile und enthält einen Dateinamen mit Dateityp-Erweiterung. Wenn es sich um ein PDF handelt (also %currentfile% beinhaltet .pdf) soll ein Befehl ausgeführt werden.
Mit
IF NOT %currentfile%==.pdf echo Dies ist kein PDF
Ist das irgendwie möglich?
Vielen Dank un Gruß
daedalus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 123920
Url: https://administrator.de/forum/batch-if-variable-beinhaltet-zeichenfolge-123920.html
Ausgedruckt am: 19.06.2025 um 15:06 Uhr
3 Kommentare
Neuester Kommentar
Moin daedalus,
wenn die Formulierung der Aufgabenstellung leicht (aber vermutlich zulässig) variiert wird, dann lässt sich doch sagen
"Geprüft werden soll, ob die Endung der Datei ".pdf" ist.
Und das wiederum geht ja mit den "abgeleiteten" dynamischen Variablen der FOR-Anweisungen.
Beispiel am CMD-Prompt (die Zeile mit ">" am Anfang ist die eingegebene Zeile)
Übertragen auf Dein Konstrukt im Batch:
Grüße
Biber
wenn die Formulierung der Aufgabenstellung leicht (aber vermutlich zulässig) variiert wird, dann lässt sich doch sagen
"Geprüft werden soll, ob die Endung der Datei ".pdf" ist.
Und das wiederum geht ja mit den "abgeleiteten" dynamischen Variablen der FOR-Anweisungen.
Beispiel am CMD-Prompt (die Zeile mit ">" am Anfang ist die eingegebene Zeile)
>for %i in (h*.*) do @if /i "%~xi"==".pdf" @echo "%i" ist ein PDF-File.
"Hein Blöd 2009-123456.pdf" ist ein PDF-File.
"Hund Katze Maus 2008-122332.pdf" ist ein PDF-File.
...
FOR %%i in ("%currentfile%") DO IF /i "%%~xi" NEQ ".pdf" echo "%%i" ist kein PDF.
Grüße
Biber