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