Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Batch skript

Empfohlene Antworten

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.