Alle Dateien in einem bestimmten Verzeichnis und allen darin enthaltenen Unterverzeichnissen eines bestimmten Namens ausführen lassen.
Ein kleines Problem, welches es zu lösen gibt.
Ich will in einem bestimmten Verzeichnis und allen darin enthaltenen Unterverzeichnissen alle Dateien eines bestimmten Namens ("install.cmd") ausführen lassen.
FOR /R pfad\ %%i IN (install.cmd) DO CALL %%i macht ja eigentlich auch schon das Gewünschte, allerdings wird auch versucht in Unterverzeichnissen, die nur existieren aber die Datei nicht enhalten auszuführen und es wird eine Fehlermeldung ausgespuckt weil die Datei nicht existiert.
Habe versucht ein IF EXISTS einzubauen, aber bin bis jetzt gescheitert, da das ganze syntaktisch nicht verarbeitet werden kann.
Hat jemand eine elegante Lösung für mein Problem parat?
Grüße Urknall
Ich will in einem bestimmten Verzeichnis und allen darin enthaltenen Unterverzeichnissen alle Dateien eines bestimmten Namens ("install.cmd") ausführen lassen.
FOR /R pfad\ %%i IN (install.cmd) DO CALL %%i macht ja eigentlich auch schon das Gewünschte, allerdings wird auch versucht in Unterverzeichnissen, die nur existieren aber die Datei nicht enhalten auszuführen und es wird eine Fehlermeldung ausgespuckt weil die Datei nicht existiert.
Habe versucht ein IF EXISTS einzubauen, aber bin bis jetzt gescheitert, da das ganze syntaktisch nicht verarbeitet werden kann.
Hat jemand eine elegante Lösung für mein Problem parat?
Grüße Urknall
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 23132
Url: https://administrator.de/forum/alle-dateien-in-einem-bestimmten-verzeichnis-und-allen-darin-enthaltenen-unterverzeichnissen-eines-bestimmten-23132.html
Ausgedruckt am: 19.05.2025 um 07:05 Uhr
4 Kommentare
Neuester Kommentar

Hi.
Es müsste es mit der folgenden Befehlszeile klappen:
Ist aus der Hüfte geschossen ähm ich meine nicht getestet.
Viele Grüße
Es müsste es mit der folgenden Befehlszeile klappen:
FOR /R pfad\ %%i IN (install.cmd) DO IF EXIST "%%i" CALL "%%i"
Ist aus der Hüfte geschossen ähm ich meine nicht getestet.
Viele Grüße
..aus der Hüfte schiess ich auch gern..
FOR /R pfad\ %%i IN (.) DO IF EXIST "%%i\install.cmd" CALL "%%i\install.cmd"
Auch ungetestet und gefühlsmäßig genauso richtig
Gruß Biber
[Edit]
uuups.. da war ich zeitgleich mit Deinem Edit.
habe allerdings auch fpschultzes Zeile nicht getestet, ebensowenig wie meine.
[/Edit]
FOR /R pfad\ %%i IN (.) DO IF EXIST "%%i\install.cmd" CALL "%%i\install.cmd"
Auch ungetestet und gefühlsmäßig genauso richtig
Gruß Biber
[Edit]
uuups.. da war ich zeitgleich mit Deinem Edit.
habe allerdings auch fpschultzes Zeile nicht getestet, ebensowenig wie meine.
[/Edit]

Eigenartig. Also die Fehlermeldung tritt bei "IF EXISTS ..." auf, weil IF die Anweisung EXISTS (mit S am Ende) nicht kennt. Aber mit "IF EXIST" sollte es klappen.
Alternativ kannst Du es auch so machen:
Alternativ kannst Du es auch so machen:
For /F "Tokens=*" %%i In ('Dir pfad\install.cmd /S /B') Do Call "%%i"