Dateiname auf vorkommen von Zeichen prüfen
Hallo,
mal wieder eine Batch-Frage von mir:
eine Schleife durchsucht Ordner/Unterordner nach Dateien.
Es werden bestimmte Parameter (z. B. Endung) gecheckt und darauf reagiert.
Das Problem: An beliebiger Stelle des Dateinamens können die Zeichen "XY" vorkommen. Wenn dies so ist, soll mit 'set do=1' eine bestimmte Routine gestartet werden.
Aber wie zur Hölle finde ich raus, ob der Dateiname diese Zeichen enthält? Selber überlegen hilft nicht (wie so oft), googeln aber leider auch nicht.
Danke für Eure Hilfe!
Jürgen
mal wieder eine Batch-Frage von mir:
eine Schleife durchsucht Ordner/Unterordner nach Dateien.
Es werden bestimmte Parameter (z. B. Endung) gecheckt und darauf reagiert.
Das Problem: An beliebiger Stelle des Dateinamens können die Zeichen "XY" vorkommen. Wenn dies so ist, soll mit 'set do=1' eine bestimmte Routine gestartet werden.
Aber wie zur Hölle finde ich raus, ob der Dateiname diese Zeichen enthält? Selber überlegen hilft nicht (wie so oft), googeln aber leider auch nicht.
Danke für Eure Hilfe!
Jürgen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 576218
Url: https://administrator.de/forum/dateiname-auf-vorkommen-von-zeichen-pruefen-576218.html
Ausgedruckt am: 07.04.2025 um 21:04 Uhr
5 Kommentare
Neuester Kommentar

1
2
2
@echo off
for /f "delims=" %%a in ('dir /b /s /a-d "D:\Ordner\blablub\*XY*"') do echo Tu was mit "%%a"
Selber überlegen hilft nicht (wie so oft)
🐟 
Zitat von @icepick1661:
Ich habe ja bereits mit einer For-Schleife eine Datei in Bearbeitung, also ein Variable %%i ist schon gefüllt. Bei diesem Dateinamen will ich prüfen, ob das "XY" darin vorkommt.
Hätte einfach gereicht die zu posten ...Ich habe ja bereits mit einer For-Schleife eine Datei in Bearbeitung, also ein Variable %%i ist schon gefüllt. Bei diesem Dateinamen will ich prüfen, ob das "XY" darin vorkommt.
Mit deiner Schleife hab ich jetzt ein bisschen rumprobiert - sie bezieht sich aber nicht auf die Variable %%i. Die zweite Schleife läuft als Schleife in der Schleife - die letzte Klammer schließt die erste Schleife.
Ist doch Jacke wie Hose ob %%i oder %%a es ist nur ein unterschiedlicherBuchstabe.Du hättest auch einfach deine Schleife posten können, aber ist ja Glaskugel-Feierdach ne....
Hier für den Content einer Schleife in der %%i die Laufvariable ist (for-Gedöhns weggelassen fehlt uns ja von dir) :
1
2
3
4
5
2
3
4
5
echo %%~nxi|findstr /ilc:"XY" >nul 2>&1 && (
echo Found XY in %%i
) || (
echo Not found XY in %%i
)
Wenn du damit jetzt auch nix anfangen kannst, dann bleibt wohl nur noch das Brecheisen für das Brett...
Viel Spaß beim Eierschaukeln noch.