Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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\).

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...