Jump to content

Batch - rotierender Zielordner/Variabel für Robocopy Job


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo,

 

ich hätte gerne eine Batch Datei gehabt mit einem Robocopy Job

deren Zielordner sich bei jedem Start der Batchdatei ändert.

Das also zB. automatisch immer zwischen 4 verschiedenen Zielordnern rotiert wird.

 

1x Batch gestartet = Zielordner 1

2x Batch gestartet = Zielordner 2

3x Batch gestartet = Zielordner 3

4x Batch gestartet = Zielordner 4

5x Batch gestartet = Zielordner 1

.

.

 

Hab das soweit eigentlich schon gelöst aber hmmm najo ziemlich unschön wie ich finde.

Wie könnte man das kürzer/schöner realisieren?

 

Die bisherige Lösung:

(Eine der Textfiles sowie die möglichen Zielordner müssen bereits erstellt sein.)

 

@echo off & setlocal

if exist "D:\_batch\4.txt" goto 1
if exist "D:\_batch\1.txt" goto 2
if exist "D:\_batch\2.txt" goto 3
if exist "D:\_batch\3.txt" goto 4

:1
set var=freitag1
ren "D:\_batch\4.txt" "1.txt"
goto copy

:2
set var=freitag2
ren "D:\_batch\1.txt" "2.txt"
goto copy

:3
set var=freitag3
ren "D:\_batch\2.txt" "3.txt"
goto copy

:4
set var=freitag4
ren "D:\_batch\3.txt" "4.txt"
goto copy


:copy
robocopy.exe "D:\_batch\quelle" "D:\_batch\ziel\%var%" /COPYALL /DCOPY:T /MIR /r:0

 

Danke sehr!

Gruß

 

Martin

Link zu diesem Kommentar
Ich würde das Datum einbauen und nach Datum sortierend die ältesten Ordner nach einem Durchlauf löschen bis auf die letzten 4.

 

Darfs auch Powershell sein? Dann Bau ich daraus einen einzeiler oder ein schöneres Script.

Hallo,

 

oder einfach eine vorhergehende zweistellige Nummerierung (01_ordner, 02_ordner...) und eine Textfile in die geschrieben wird welcher Ordner zuletzt verwendet wurde?!

Quasi "Schau in der Textfile nach, zähl eine rauf und schreib dann diesen Wert für zukünftige Starts hinein".

Aber wie "begrenzt" man dann die maximale Ordneranzahl? Puhhh.

 

Aber zumindest müsste man nicht aufpassen falls mit den Timestamps was passiert.

Oder meinst du das Datum direkt in den Namen der Ordner?

 

Ordner löschen ist etwas ungut da Robocopy ja nur aktualisieren soll - sonst müsste ja immer wieder komplett alles kopiert werden.

 

Oder könnte man mein "Pfusch" einfach bisschen kürzen und möglicherweise das mit den vier verschiedenen Textfiles anders lösen?

Denn im Grunde funktionierts ja so - nur siehts nicht schön aus. :)

 

> Powershell

Hmmm jo lieber Batch wenn ich wählen dürfte. ;)

 

Danke,

Grüße

 

Martin

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

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

×
×
  • Neu erstellen...