Datei-Ordner mit Zahlenfolge und Datum erstellen

Hallo! Ich würde gerne automatisch in Windows die Ordner eines Jahres erstellen.

Hintergrund. Ich möchte automatisch für jeden Tag einen Dateiordner erstellt bekommen.

Ähnlich wie dieses hier:

Aber: Bei mir soll nicht nur ein Ordner erstellt werden - sondern ein ganzes Jahr!!!
Also vom 1.1.2015 bis 31.12.2015. Für jeden Tag ein Ordner. Dazu soll jeder Ordner eine vierstellig Zahl voran erhalten. Dabei gilt: Der 1.1.1999 ist 0001 - demnach der 1.4.2015 trägt die Nummer 5570.

Die neuen Ordner sollen immer gleich aussehen: „VIERSTELLIGEZAHL - DATUM im AMERIKANISCHEN-FORMAT“. Beispiel für den 1.4.2015: „5570 - 2015-04-01“

… so, liebe Programmierer: Ich danke Euch schon jetzt und freue mich auf Eure Ideen für eine Batch-Datei … Ja, wenn dann noch alle Ordner eines Monats in einem neu zu erstellenden Ordner landen, der den Namen des jeweiligen Monats trägt, dann bin ich baff :wink:

DANKe !!!

Moin,

stell mal eine Musterzeile hier ein. Das, was nach dem MD (make directory) kommt, hast Du mit Hochkomma umzingelt?

Gruß Ralf

1 Like

Hallo –

Ich würde da Excel nehmen. Kann man ja wunderbar Datum und Nummern nach unten kopieren bzw. nach unten ziehen. Dateinamen mit Formel definieren sollte da auch kein Problem sein. So ne Liste ist da relativ schnell gemacht. Und dann ein kleines Makro, das die Ordner erstellt.

– Gruß

hey, lieber silversurfer!
Das klingt nach einer super Idee … ich bin nur leider zu doof dafür … :frowning:

Hallo –

Lad dir mal folgende Excel-Beispieldatei runter. Sollte ab Excel 2007 funktionieren.

http://workupload.com/file/z1b8vxQa

Die Datumsangaben hab ich mal vom 01.01.1999 bis 31.12.2015 gemacht. Siehe Spalte A. Die Spalte B die Nummern hochgezählt. Siehst du an der Formel in B. In Spalte C nochmal die Nummer. Allerdings vierstellig definiert als Text. Also z.B. die 7 mit 3 Nullen vorne dran. In Spalte D der Ordnername. Einfach auch da mal in Spalte D die Formel anschauen.
So jetzt das Makro. Das man unter Entwicklertools - Makros - Bearbeiten anschauen kann.

Sub OrdnerErstellen()
  For i = 5845 To 6209 Step 1
      If Cells(i, 4) <> "" Then MkDir "E:\Ordner1\" & Cells(i, 4).Value
  Next
End Sub

Die Zahlen bei For 5845 To 6209 bedeutet von Zeile 5845 bis Zeile 6209 wird ein Ordner erstellt aus dem Ordnernamen in Spalte D. Also vom 01.01.2015 bis 31.12.2015. Ansonsten entsprechend ändern, wenn man mal was anderes will. Die 4 bei Cells bedeutet Spalte 4. Also Spalte D. In dem die Ordnernamen stehen.
E:\Ordner1\ bedeutet unter Laufwerk E: und dem Ordner Ordner1 werden die ganzen Ordner angelegt. Ansonsten wenn man was anderes will, entsprechend ändern. Ordner1 sollte vor dem Start des Makros angelegt sein.
Gestartet wird das Makro über Entwicklertools - Makros - Ausführen. Und damit die Ordner erzeugt.
Achso möglicherweise hast du dich mit dem 5570 um ein Jahr geirrt. Überprüf das mal. Evtl dann halt Exceltabelle anpassen.

– Gruß

Moin,

4 Schritte:

  • bau Dir eine Excel-Datei mit den gewünschten Dateinamen
  • setze in die erste Spalte die Konstante „MD“
  • speichere die Datei als Textdatei namens MyDirs.bat ohne Delimiter
  • Doppelklick auf die Datei erzeugt die Ordner

Mit ein bisschen Geschick kriegst Du sogar die Monatsordner hin.

Ich möchte aber nicht verhehlen, dass ich meine Daten niemals so organisieren würde. Die Nummer identifiziert bereits vollständig, das Datum tut es ebenfalls - also doppelt gemoppelt. Mal abgesehen davon, dass eine einzige Exceldatei oder - mit etwas mehr Luxus - eine Access-Datenbank effizienter wäre.

Gruß Ralf

Hallo fbhh,
das wird mit DOS/Batch nicht klappen. Denn um die Nummern der Tage zu berechnen benötigst Du meines Erachtens eine Programmier/Skript-Sprache.
Gruß,
charly60

Vielen vielen Dank! :slight_smile: Das klingt echt gut. Nun stellt mich Excel nur vor das nächste Problem:
Wenn ich das Datum eingebe - Beispiel: 2015-08-27, dann ändert er es (lieb wie er es meint) auf 27. August 2015. Also schnell die Zelleigenschaft auf „Englisch USA“ geändert als „Datum“. Dann lässt er es, wie es sein soll. Wenn ich nun aber (da ich die fortlaufenden Nummern in einer Spalte „berechne“ und das Datum in der nächsten) die beiden Spalten zu einer dritten verkette, dann „berechnet“ er das Datum… und schreibt anstelle von: „5718 - 2015-08-27“ in die Zelle: „5718 - 42243“. Er berechnet also irgendwas … HIIILFE … Wie kann ich das ändern ?! Wenn ich „TEXT“ für das Datum auswähle, dann kann ich es wieder nicht automatisch „berechnen“ lassen, welche Monate 28, 30 oder 31 Tage haben. Sprich: Dann habe ich hier wieder doppelte Aufgaben … Ich möchte doch nur, dass er die Zeile mit dem „Datum“, so übernimmt, wie sie angezeigt wird … :smiley: Danke für Eure Hilfe!

cool - selbst herausgefunden:

=ZELLE&" - "&TEXT(ZELLE;„JJJJ-MM-TT“)

dann geht`s :wink:

Hallo! Vielen Dank! Nun habe ich es laufen lassen und bekomme leider den Fehler:

„Der Befehl [dann folgt die vierstellige Ordnernummer] ist entweder falsch geschrieben oder konnte nicht gefunden werden.“

:frowning:

Du hast das MD in der 1. Zelle vergessen?!
Gruß,
charly60.

Nachtrag: Die Kombination aus Laufende Nr und Datum muss in Hochkomma gesetzt werden. Und in die erste Zeile schreibst Du bitte PROC 0.

Gruß Ralf

A1: 5570
B1: 2015-04-01
C1: gesamt:
D1: =A1&" - „&TEXT(B1;„JJJJ-MM-TT“)
E1: =WENN(D1=“";"";""""&D1&"""")

Dann in einem neuen Reiter:

A1: PROC 0
A2: MD
B2: =Berechnung!E1
{Berechnung ist der Reiter oben!}

Tja, leider sind dann noch zu viele Anführungszeichen drin - die lösche ich dann aus der dann gespeicherten Datei per Word mit Suchen / Ersetzen heraus.

:smile: Danke!

Moin,

in F1 steht bei mir ="MD " & E1, und fertig ist die Laube. Kopiere diese Spalte und füge sie in eine Textdatei namens meindir.bat ein und schreibst in die erste Zeile das PROC 0.

Gruß Ralf