mamba Geschrieben 1. April 2010 Geschrieben 1. April 2010 Guten Morgen =) Ich hätte ein kleines Problem mit einem Script. Meine Aufgabe war es, ein kleines Script zu schreiben, wenn ich hier Falsch bin, bitte verschieben. SO, die Aufgaben stellung war folgende: Ein Kunde von uns bekommt in einen bestimten Ordner jede Minute eine Datei. Da sich dieser Ordner in Kürzester Zeit selbst zu spamt, darf ich da ordnung reinbringen. Hier kam meine Grund Idee herraus, da ich zuvor noch nie ein Skript geschrieben hatte (Azubi im ersten ) html'>http://forum.fachinformatiker.de/windows-betriebssysteme/129906-batch-datei-erstellen-dateiname-auslesen.html Meine Dateien haben im Moment immer das Format : test_31.03.10.13.30.abc test = namen , dann das Datum und die hinteren 2 Zahlen sind die Uhrzeit. Am Ende hats noch platz für einen Kommentar. Ich solte 3 verschiedene Skripte schreiben, eins um die Dateien nach Stunden (1 Uhr-24Uhr), eins nach Tagen (01Tag-30Tag/31Tag ) und eins nach Monaten ( Januar - Dezember) zu sortieren. Dazu solten immer die passenden Ordner angelegt werden wenn sie nicht schon vorhanden sind. Die Stunden und die Monate funktionieren Wunderbar, aber mit den Tagen hab ich im mom ein Problem. Hier mal mein ,,Monatsscript" :-- Dateien sortieren -th -- Ordner anlegen fals nicht vorhanden if not exist "J:\Script Jochen\temp\Januar" md "J:\Script Jochen\temp\Januar" if not exist "J:\Script Jochen\temp\Februar" md "J:\Script Jochen\temp\Februar" if not exist "J:\Script Jochen\temp\Maerz" md "J:\Script Jochen\temp\Maerz" if not exist "J:\Script Jochen\temp\April" md "J:\Script Jochen\temp\April" if not exist "J:\Script Jochen\temp\Mai" md "J:\Script Jochen\temp\Mai" if not exist "J:\Script Jochen\temp\Juni" md "J:\Script Jochen\temp\Juni" if not exist "J:\Script Jochen\temp\Juli" md "J:\Script Jochen\temp\Juli" if not exist "J:\Script Jochen\temp\August" md "J:\Script Jochen\temp\August" if not exist "J:\Script Jochen\temp\September" md "J:\Script Jochen\temp\September" if not exist "J:\Script Jochen\temp\Oktober" md "J:\Script Jochen\temp\Oktober" if not exist "J:\Script Jochen\temp\November" md "J:\Script Jochen\temp\November" if not exist "J:\Script Jochen\temp\Dezember" md "J:\Script Jochen\temp\Dezember" --log file erstellen dir /b *_* >files.log --log file auslesen For /F "delims=. Tokens=1-4*" %%i in (Files.log) do ( --Dateien verschieben If %%j==01 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Januar" If %%j==02 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Februar" If %%j==03 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Maerz" If %%j==04 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\April" If %%j==05 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Mai" If %%j==06 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Juni" If %%j==07 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Juli" If %%j==08 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\August" If %%j==09 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Septemper" If %%j==10 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Oktober" If %%j==11 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\November" If %%j==12 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\Dezember" ) --log file löschen del files.log Kurz gesagt: es schaut welchen Dateinamen die Dateien in dem Ordner ( hier Temp auf meinem USB-Stick ( deshalb J:\ da ich mich auch daheim verscuhen wolte ))liegen und speichert die Namen als .txt ab. Danach wird dieser an den Punkten sozusagen aufgespalten und die einzelnen Werte werden benutzt. Hier mein ,,Tagesscript" -- Dateien sortieren -th -- Ordner anlegen fals nicht vorhanden if not exist "J:\Script Jochen\temp\01Tag" md "J:\Script Jochen\temp\01Tag" if not exist "J:\Script Jochen\temp\02Tag" md "J:\Script Jochen\temp\02Tag" if not exist "J:\Script Jochen\temp\03Tag" md "J:\Script Jochen\temp\03Tag" if not exist "J:\Script Jochen\temp\04Tag" md "J:\Script Jochen\temp\04Tag" if not exist "J:\Script Jochen\temp\05Tag" md "J:\Script Jochen\temp\05Tag" if not exist "J:\Script Jochen\temp\06Tag" md "J:\Script Jochen\temp\06Tag" if not exist "J:\Script Jochen\temp\07Tag" md "J:\Script Jochen\temp\07Tag" if not exist "J:\Script Jochen\temp\08Tag" md "J:\Script Jochen\temp\08Tag" if not exist "J:\Script Jochen\temp\09Tag" md "J:\Script Jochen\temp\09Tag" if not exist "J:\Script Jochen\temp\10Tag" md "J:\Script Jochen\temp\10Tag" if not exist "J:\Script Jochen\temp\11Tag" md "J:\Script Jochen\temp\11Tag" if not exist "J:\Script Jochen\temp\12Tag" md "J:\Script Jochen\temp\12Tag" if not exist "J:\Script Jochen\temp\13Tag" md "J:\Script Jochen\temp\13Tag" if not exist "J:\Script Jochen\temp\14Tag" md "J:\Script Jochen\temp\14Tag" if not exist "J:\Script Jochen\temp\15Tag" md "J:\Script Jochen\temp\15Tag" if not exist "J:\Script Jochen\temp\16Tag" md "J:\Script Jochen\temp\16Tag" if not exist "J:\Script Jochen\temp\17Tag" md "J:\Script Jochen\temp\17Tag" if not exist "J:\Script Jochen\temp\18Tag" md "J:\Script Jochen\temp\18Tag" if not exist "J:\Script Jochen\temp\19Tag" md "J:\Script Jochen\temp\19Tag" if not exist "J:\Script Jochen\temp\20Tag" md "J:\Script Jochen\temp\20Tag" if not exist "J:\Script Jochen\temp\21Tag" md "J:\Script Jochen\temp\21Tag" if not exist "J:\Script Jochen\temp\22Tag" md "J:\Script Jochen\temp\22Tag" if not exist "J:\Script Jochen\temp\23Tag" md "J:\Script Jochen\temp\23Tag" if not exist "J:\Script Jochen\temp\24Tag" md "J:\Script Jochen\temp\24Tag" if not exist "J:\Script Jochen\temp\25Tag" md "J:\Script Jochen\temp\25Tag" if not exist "J:\Script Jochen\temp\26Tag" md "J:\Script Jochen\temp\26Tag" if not exist "J:\Script Jochen\temp\27Tag" md "J:\Script Jochen\temp\27Tag" if not exist "J:\Script Jochen\temp\28Tag" md "J:\Script Jochen\temp\28Tag" if not exist "J:\Script Jochen\temp\29Tag" md "J:\Script Jochen\temp\29Tag" if not exist "J:\Script Jochen\temp\30Tag" md "J:\Script Jochen\temp\30Tag" if not exist "J:\Script Jochen\temp\31Tag" md "J:\Script Jochen\temp\31Tag" --log file erstellen dir /b *_* >files.log --log file auslesen --Dateien verschieben For /F "delims=. Tokens=1-4*" %%i in (Files.log) do ( If %%i==01 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\01Tag" If %%i==02 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\02Tag" If %%i==03 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\03Tag" If %%i==04 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\04Tag" If %%i==05 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\05Tag" If %%i==06 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\06Tag" If %%i==07 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\07Tag" If %%i==08 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\08Tag" If %%i==09 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\09Tag" If %%i==10 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\10Tag" If %%i==11 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\11Tag" If %%i==12 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\12Tag" If %%i==13 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\13Tag" If %%i==14 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\14Tag" If %%i==15 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\15Tag" If %%i==16 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\16Tag" If %%i==17 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\17Tag" If %%i==18 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\18Tag" If %%i==19 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\19Tag" If %%i==20 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\20Tag" If %%i==21 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\21Tag" If %%i==22 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\22Tag" If %%i==23 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\23Tag" If %%i==24 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\24Tag" If %%i==25 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\25Tag" If %%i==26 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\26Tag" If %%i==27 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\27Tag" If %%i==28 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\28Tag" If %%i==29 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\29Tag" If %%i==30 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\30Tag" If %%i==31 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\31Tag" ) --log file löschen del files.log pause Wenn ich die änderung hier mache ;; If %%i==test_31 move %%i.%%j.%%k.%%l.%%m "J:\Script Jochen\temp\31Tag";; funktioniert es. Aber wenn es Dann in die Richtige Projektumgebung kommt müste man wieder alles änder. Einfach ein ,*, davorsetzn funktioniert auch nicht. Gibt es andere Platzhalter ? Hoffe jemand hat ne Idee. Greetz Zitieren
lupo49 Geschrieben 1. April 2010 Geschrieben 1. April 2010 Wie wäre es mit einer Variable für den "test_" die am Anfang des Skriptes einmalig definiert wird. Das selbe empfehle ich dir auch für die Angabe des Pfades (J:\Script Jochen\temp\). Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.