Batch mit einer Spezieller Namenskonvention, komprimierung und Löschung
Guten Morgen Administratoren
Ich brauche hilfe bei einem Script
Ich kopiere von einem Ordner in einen anderen alle dateien des Ordners.
Dabei soll der Ordner in welchem Kopiert wird erst erstellt werden.
Der Name des Ordners soll dabei folgenden namen haben
Backup_Freitag_04.07.2014_08:55
Das Skript soll jeden Tag laufen
Somit ergeben sich am ende der Woche folgende Ordner
Backup_Montag_31.06.2014_08:55
Backup_Dienstag_01.07.2014_08:56
Backup_Mittwoch_02.07.2014_08:57
Backup_Donnerstag_03.07.2014_08:58
Backup_Freitag_04.07.2014_08:59
Jetzt soll das skript Prüfen ob es ein Backup mit Namen "Backups_Montag" gibt und
falls es das gibt soll er dies Löschen und ein neues erstellen.
Das Schwierigste für mich ist es den namen des aktuellen Tags zu bekommen. Für den Rest
habe ich schon einen Ansatz
Danke vielmals
Ich brauche hilfe bei einem Script
Ich kopiere von einem Ordner in einen anderen alle dateien des Ordners.
Dabei soll der Ordner in welchem Kopiert wird erst erstellt werden.
Der Name des Ordners soll dabei folgenden namen haben
Backup_Freitag_04.07.2014_08:55
Das Skript soll jeden Tag laufen
Somit ergeben sich am ende der Woche folgende Ordner
Backup_Montag_31.06.2014_08:55
Backup_Dienstag_01.07.2014_08:56
Backup_Mittwoch_02.07.2014_08:57
Backup_Donnerstag_03.07.2014_08:58
Backup_Freitag_04.07.2014_08:59
Jetzt soll das skript Prüfen ob es ein Backup mit Namen "Backups_Montag" gibt und
falls es das gibt soll er dies Löschen und ein neues erstellen.
Das Schwierigste für mich ist es den namen des aktuellen Tags zu bekommen. Für den Rest
habe ich schon einen Ansatz
Danke vielmals
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 242702
Url: https://administrator.de/contentid/242702
Ausgedruckt am: 22.11.2024 um 03:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
den Namen des aktuellen Wochentags herausfinden:
Gruß,
Gersen
den Namen des aktuellen Wochentags herausfinden:
set DOW=
for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do (
set DOW=%%g)
if %DOW%==0 set DOW=Sonntag
if %DOW%==1 set DOW=Montag
if %DOW%==2 set DOW=Dienstag
if %DOW%==3 set DOW=Mittwoch
if %DOW%==4 set DOW=Donnerstag
if %DOW%==5 set DOW=Freitag
if %DOW%==6 set DOW=Samstag
Gruß,
Gersen
den Namen des aktuellen Wochentags herausfinden:
alternativ geht's auch noch so::: Wochentag holen
echo wscript.Echo WeekdayName(Weekday(Now))>"%temp%\dow.vbs"
for /f %%a in ('cscript //NOLOGO "%temp%\dow.vbs"') do set dow=%%a
:: Löschen des Ordners
for /d %%b in ("D:\Backup_%dow%_*") do rd "%%b" /s /q
::neuen Ordner erstellen
md "D:\Backup_%dow%_%date%_%time::=-%"
Hallo Zusammen,
oder so ...
Grüße
rubberman
oder so ...
@echo off &setlocal
setlocal EnableDelayedExpansion
set "n=0" &for /f "tokens=2 delims==" %%i in ('wmic path win32_localtime get dayofweek /value') do (
for /f %%j in ("%%i") do for %%k in (Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag) do (
if "!n!"=="%%j" set "DOW=%%k"
set /a "n+=1"
) )
endlocal &set "DOW=%DOW%"
for /f "delims=" %%i in ('dir /ad /b "Backup_%DOW%_*"') do echo gefunden: %%i
pause
Somit ergeben sich am ende der Woche folgende Ordner
Backup_Montag_31.06.2014_08:55
...
Das ist eine infame Lüge Doppelpunkte in Verzeichnisnamen ...Backup_Montag_31.06.2014_08:55
...
Grüße
rubberman