Zum Inhalt springen

Batch skript


mamba

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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