Batch: for Schleife d auf mehrere Unterverzeichnisse
Hallo und Hola aus Spanien.
Nach dreitägiger Recherche gebe ich fast auf. Ich hoffe das mir jemand weiterhelfen kann um folgendes Szenario zu lösen.
Screenshot der Verzeichnisstruktur. Kunden werden grob in drei Sprachen eingeteilt. Innerhalb dieser Ordner liegen Ordner mit den Namen von A bis Z.
Dort befinden sich die Kundenordner mit Namen des Kunden und einer einheitlichen Ordnerstruktur.
Beispiel für Kunde "a2, cliente": \Clientes\Espanol\A\a2,cliente
In dem Ordner \Clientes\Espanol\A\a2,cliente\Information\Facturas müssen jährlich neue Ordnerstrukturen für das aktuelle Jahr angelegt werden.
Und bestimmte abgelaufene Jahrgänge gelöscht werden
Dies habe ich bisher mit etc gelöst. Woebei dies Jahreszahl automatisch durch eine Variable gesetzt wurde.
Nun hat der Kunde jedoch, wie oben beschrieben, die Kunden in drei Sprachen und alphabetische Hauptordner eingeteilt.
Somit komme ich mit der einfachen for Schleife nicht mehr weiter.
Ich suche eine Möglichkeit den Batch im "Sprachordner" z.B. \Espanol zu starten um dann alle Hauptordner A-Z nach Kundennamen zu durchsuchen um dann dort die neue jährlichen Ordner anzulegen.
Vorab schon mal ein Dankeschön für diejenigen die mir behilflich sind.
Nach dreitägiger Recherche gebe ich fast auf. Ich hoffe das mir jemand weiterhelfen kann um folgendes Szenario zu lösen.
Screenshot der Verzeichnisstruktur. Kunden werden grob in drei Sprachen eingeteilt. Innerhalb dieser Ordner liegen Ordner mit den Namen von A bis Z.
Dort befinden sich die Kundenordner mit Namen des Kunden und einer einheitlichen Ordnerstruktur.
Beispiel für Kunde "a2, cliente": \Clientes\Espanol\A\a2,cliente
In dem Ordner \Clientes\Espanol\A\a2,cliente\Information\Facturas müssen jährlich neue Ordnerstrukturen für das aktuelle Jahr angelegt werden.
Und bestimmte abgelaufene Jahrgänge gelöscht werden
Dies habe ich bisher mit
for /d %%a in (*) do md "%%a\Informacion\Facturas\2021\1T\Gastos\Banco"
Nun hat der Kunde jedoch, wie oben beschrieben, die Kunden in drei Sprachen und alphabetische Hauptordner eingeteilt.
Somit komme ich mit der einfachen for Schleife nicht mehr weiter.
Ich suche eine Möglichkeit den Batch im "Sprachordner" z.B. \Espanol zu starten um dann alle Hauptordner A-Z nach Kundennamen zu durchsuchen um dann dort die neue jährlichen Ordner anzulegen.
Vorab schon mal ein Dankeschön für diejenigen die mir behilflich sind.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 637201
Url: https://administrator.de/forum/batch-for-schleife-d-auf-mehrere-unterverzeichnisse-637201.html
Ausgedruckt am: 07.04.2025 um 03:04 Uhr
4 Kommentare
Neuester Kommentar
Zitat von @ThomasGeisler:
Ich suche eine Möglichkeit den Batch im "Sprachordner" z.B. \Espanol zu starten um dann alle Hauptordner A-Z nach Kundennamen zu durchsuchen um dann dort die neue jährlichen Ordner anzulegen.
Ich suche eine Möglichkeit den Batch im "Sprachordner" z.B. \Espanol zu starten um dann alle Hauptordner A-Z nach Kundennamen zu durchsuchen um dann dort die neue jährlichen Ordner anzulegen.
Macht es nicht mehr Sinn im "Clientes" Verzeichnis zu starten und alles auf einmal runter zu bügeln? Z.B. so ...
for /d %%i in (*) do (
for /d %%j in ("%%~i\*") do (
for /d %%k in ("%%~j\*") do md "%%~k\Informacion\Facturas\2021\1T\Gastos\Banco"
)
)
Zitat von @ThomasGeisler:
Noch eine Frage zur DO Anweisung. Kann ich dort mehrere Anweisungen mach. In dem Fall mehrere Ordner erstellen. Oder spielt es keine Rolle wenn ich 40 mal diese geschachtelte for Schleife verwende?
Noch eine Frage zur DO Anweisung. Kann ich dort mehrere Anweisungen mach. In dem Fall mehrere Ordner erstellen. Oder spielt es keine Rolle wenn ich 40 mal diese geschachtelte for Schleife verwende?
Natürlich kannst du %%j weiter nutzen. Leg mit einem Klammernpaar einen weiteren Block an und schreibe so viele MDs rein wie du brauchst ...
for /d %%i in (*) do (
for /d %%j in ("%%~i\*") do (
md "%%~j\Informacion\Facturas\2021\1T\Gastos\Banco"
md "%%~j\whatever path here"
)
)