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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 637201
Url: https://administrator.de/contentid/637201
Printed on: April 24, 2024 at 22:04 o'clock
4 Comments
Latest comment
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"
)
)