Batch Datei Tag der Woche und 6 Tage davor für Variable
Nach einiger Suche kann ich nun mit dem im Netz gefundenen Batch Teilprogramm endlich 7 Ordner erstellen und in diese meine Dateien sichern. Nun würde ich ja gerne die ältesten Daten wieder löschen, was mir aber auch die meisten Probleme bereitet. Den DayofWeek Teil find ich ja so gut das ich ihn hier nochmals poste:
:: Wochentagsnummer und umwandlung in Tagesangaben
set daysofweek=Montag,Dienstag,Mittwoch,Donnerstag,Freitbag,Samstag,Sonntag
for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do set daynumber=%%A
for /F "tokens=%daynumber% delims=," %%B in ("%daysofweek%") do set day=%%B
echo Guten Morgen! Heute ist:
echo %day% der %date%
mkdir %daynumber% 2>nul
cd %daynumber%
Start meiner Sicherung (Die Wochentagsausgabe benutze ich bloß um vom Script mit dem richtigem Tag begrüßt zu werden)
Mein Problem nach 4 Wochen: Mein Dropboxordner in dem ich die Sicherung vornehme wird zu voll und ich muß händisch wieder löschen.
Ich hätte also gerne eine weitere Variable die jeweils 6 Tage "älter" ist. Also Bei Tag 1 (Montag) den Tag 7 als Löschvariable
Da ich Samstags nur manchmal und Sonntags selten den Rechner benutze, also auch nicht gesichert wird, müßte ich diese beiden Tage gesondert behandeln, Da mir ansonsten der Sonntag und Montag irgendwann mal übergeht. Ich komme also auf ein Maximum von Sicherungen der letzten 4 oder 5 Tage, und das reicht auch völlig.
Da ich leider nur begrenztes Batch-Wissen habe, stehe ich hier vollkommen an.
Bitte um eure Mithilfe
:: Wochentagsnummer und umwandlung in Tagesangaben
set daysofweek=Montag,Dienstag,Mittwoch,Donnerstag,Freitbag,Samstag,Sonntag
for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do set daynumber=%%A
for /F "tokens=%daynumber% delims=," %%B in ("%daysofweek%") do set day=%%B
echo Guten Morgen! Heute ist:
echo %day% der %date%
mkdir %daynumber% 2>nul
cd %daynumber%
Start meiner Sicherung (Die Wochentagsausgabe benutze ich bloß um vom Script mit dem richtigem Tag begrüßt zu werden)
Mein Problem nach 4 Wochen: Mein Dropboxordner in dem ich die Sicherung vornehme wird zu voll und ich muß händisch wieder löschen.
Ich hätte also gerne eine weitere Variable die jeweils 6 Tage "älter" ist. Also Bei Tag 1 (Montag) den Tag 7 als Löschvariable
Da ich Samstags nur manchmal und Sonntags selten den Rechner benutze, also auch nicht gesichert wird, müßte ich diese beiden Tage gesondert behandeln, Da mir ansonsten der Sonntag und Montag irgendwann mal übergeht. Ich komme also auf ein Maximum von Sicherungen der letzten 4 oder 5 Tage, und das reicht auch völlig.
Da ich leider nur begrenztes Batch-Wissen habe, stehe ich hier vollkommen an.
Bitte um eure Mithilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 213044
Url: https://administrator.de/forum/batch-datei-tag-der-woche-und-6-tage-davor-fuer-variable-213044.html
Ausgedruckt am: 17.04.2025 um 18:04 Uhr
12 Kommentare
Neuester Kommentar
Moin bastla,
ich glaube eher, er meint "wenn heute Mittwoch (=Wochentag 3 und Name des Backupordners auch 3 ) ist , dann kann ich den Sicherungsordner von vor 6 Tagen = letzten Donnerstag = Wochentag 4 löschen (wenn es den gibt)".
Das wäre auf bätschisch vom CMD-Prompt aber dann eher:
Oder in Worten
also kann er noch die beiden Zeilen an seinen Batch vor der mkdir-Zeile einfügen
Grüße
Biber
ich glaube eher, er meint "wenn heute Mittwoch (=Wochentag 3 und Name des Backupordners auch 3 ) ist , dann kann ich den Sicherungsordner von vor 6 Tagen = letzten Donnerstag = Wochentag 4 löschen (wenn es den gibt)".
Das wäre auf bätschisch vom CMD-Prompt aber dann eher:
set /a loesch=daynumber % 7 +1
Oder in Worten
tagDerWoche modulo 7 plus 1
.also kann er noch die beiden Zeilen an seinen Batch vor der mkdir-Zeile einfügen
set /a loesch=daynumber %% 7 +1
if exist %loesch% rd %loesch% /s /q
REM -oder- rd %loesch% /s /q 2>nul
Rem und dann wie oben..
mkdir %daynumber% 2>nul
...
Grüße
Biber
Hallo Grobmotoriker!
Gegen Vorsicht ist ja auch nix einzuwenden, aber ein einfaches
würde ja auch schon genügen, um das Ergebnis prüfen zu können ...
Anstelle von "forfiles" böte sich übrigens auch DelAge32 an ...
Grüße
bastla
Gegen Vorsicht ist ja auch nix einzuwenden, aber ein einfaches
echo %Loesch%
Kannst du mir verraten was es mit "gtr" auf sich hat?
if /?
Anstelle von "forfiles" böte sich übrigens auch DelAge32 an ...
Grüße
bastla