47674

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
IF NOT %currentfile%==.pdf echo Dies ist kein PDF
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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 123920

Url: https://administrator.de/forum/batch-if-variable-beinhaltet-zeichenfolge-123920.html

Ausgedruckt am: 19.06.2025 um 15:06 Uhr

Biber
Biber 01.09.2009 um 10:40:19 Uhr
Goto Top
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)
>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.
Übertragen auf Dein Konstrukt im Batch:
...
FOR %%i in ("%currentfile%") DO IF /i "%%~xi" NEQ ".pdf" echo "%%i" ist kein PDF.  

Grüße
Biber
bastla
bastla 01.09.2009 um 11:11:02 Uhr
Goto Top
... um aber auch auf die Fragestellung "Teilstring prüfen" einzugehen:
echo %currentfile%|findstr /i "\.pdf">nul||echo ".pdf" nicht enthalten
Kleine Besonderheit: Damit der Punkt als solcher interpretiert wird, muss er per vorangestelltem "\" gekennzeichnet werden - siehe "findstr /?".


Grüße
bastla
47674
47674 01.09.2009 um 12:33:30 Uhr
Goto Top
Danke, es funktioniert!!! Genau das habe ich gesucht face-smile