urknall

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

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

22736
22736 09.01.2006 um 13:13:57 Uhr
Goto Top
Hi.

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
urknall
urknall 09.01.2006 um 13:44:57 Uhr
Goto Top
EDIT: Ich nehme alles zurück und behaupte das Gegenteil ;)

Falls jemand das vorher Geschriebene von mir gelesen hat vergesst es! Falsch getestet. Es funktioniert so wunderbar.

Vielen Dank Frank-Peter

Gruß
Biber
Biber 09.01.2006 um 14:23:07 Uhr
Goto Top
..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 face-wink

Gruß Biber
[Edit]
uuups.. da war ich zeitgleich mit Deinem Edit.
habe allerdings auch fpschultzes Zeile nicht getestet, ebensowenig wie meine.
[/Edit]
22736
22736 09.01.2006 um 14:23:39 Uhr
Goto Top
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:

For /F "Tokens=*" %%i In ('Dir pfad\install.cmd /S /B') Do Call "%%i"