Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch mit einer Spezieller Namenskonvention, komprimierung und Löschung

Frage Entwicklung Batch & Shell

Mitglied: Dpole86

Dpole86 (Level 1) - Jetzt verbinden

04.07.2014, aktualisiert 14:23 Uhr, 971 Aufrufe, 6 Kommentare

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
Mitglied: Gersen
04.07.2014 um 10:22 Uhr
Hallo,

den Namen des aktuellen Wochentags herausfinden:

01.
set DOW= 
02.
 
03.
for /f %%g in ('wmic path win32_localtime get dayofweek^|findstr /v /r "^$"') do ( 
04.
set DOW=%%g) 
05.
 
06.
if %DOW%==0 set DOW=Sonntag 
07.
if %DOW%==1 set DOW=Montag 
08.
if %DOW%==2 set DOW=Dienstag 
09.
if %DOW%==3 set DOW=Mittwoch 
10.
if %DOW%==4 set DOW=Donnerstag 
11.
if %DOW%==5 set DOW=Freitag 
12.
if %DOW%==6 set DOW=Samstag
Gruß,
Gersen
Bitte warten ..
Mitglied: colinardo
04.07.2014, aktualisiert um 12:42 Uhr
den Namen des aktuellen Wochentags herausfinden:
alternativ geht's auch noch so:
01.
:: Wochentag holen 
02.
echo wscript.Echo WeekdayName(Weekday(Now))>"%temp%\dow.vbs" 
03.
for /f %%a in ('cscript //NOLOGO "%temp%\dow.vbs"') do set dow=%%a 
04.
 
05.
:: Löschen des Ordners 
06.
for /d %%b in ("D:\Backup_%dow%_*") do rd "%%b" /s /q 
07.
 
08.
::neuen Ordner erstellen 
09.
md "D:\Backup_%dow%_%date%_%time::=-%"
Grüße Uwe
Bitte warten ..
Mitglied: rubberman
04.07.2014, aktualisiert um 11:17 Uhr
Hallo Zusammen,

oder so ...
01.
@echo off &setlocal 
02.
 
03.
setlocal EnableDelayedExpansion 
04.
set "n=0" &for /f "tokens=2 delims==" %%i in ('wmic path win32_localtime get dayofweek /value') do ( 
05.
  for /f %%j in ("%%i") do for %%k in (Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag) do ( 
06.
    if "!n!"=="%%j" set "DOW=%%k" 
07.
    set /a "n+=1" 
08.
) ) 
09.
endlocal &set "DOW=%DOW%" 
10.
 
11.
for /f "delims=" %%i in ('dir /ad /b "Backup_%DOW%_*"') do echo gefunden: %%i 
12.
 
13.
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 ...

Grüße
rubberman
Bitte warten ..
Mitglied: Dpole86
04.07.2014 um 12:37 Uhr
Hallo Zusammen

Danke für die Vielen antworten.
Ich konnte mir währenddessen selber was zusammenbasteln

Hier der code

01.
@ Echo On  
02.
REM This script copies the folder from CAD to networkshare and set the Date of the copyjob  
03.
 
04.
 
05.
REM -------------------------------------- 
06.
set daysofweek=Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag  
07.
REM ------------------------------------- 
08.
goto Step1 
09.
 
10.
:Step1 
11.
for /F "skip=2 tokens=2-4 delims=," %%A in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do set daynumber=%%A   
12.
for /F "tokens=%daynumber% delims=," %%B in ("%daysofweek%") do set day=%%B 
13.
echo %day%  
14.
pause 
15.
if "%day%"=="Montag" goto Montag 
16.
if "%day%"=="Dienstag" goto Dienstag 
17.
if "%day%"=="Mittwoch" goto Mittwoch 
18.
if "%day%"=="Donnerstag" goto Donnerstag 
19.
if "%day%"=="Freitag" goto Freitag 
20.
if "%day%"=="Samstag" goto Samstag 
21.
if "%day%"=="Sonntag" goto Sonntag  
22.
pause 
23.
 
24.
:Montag 
25.
set tag=Montag 
26.
goto Create_Folder 
27.
:Dienstag 
28.
set tag=Dienstag 
29.
goto Create_Folder 
30.
:Mittwoch 
31.
set tag=Mittwoch 
32.
goto Create_Folder 
33.
:Donnerstag 
34.
set tag=Donnerstag 
35.
goto Create_Folder 
36.
:Freitag 
37.
set tag=Freitag 
38.
goto Create_Folder 
39.
:Samstag 
40.
set tag=Samstag 
41.
goto Create_Folder 
42.
:Sonntag 
43.
set tag=Sonntag 
44.
goto Create_Folder 
45.
 
46.
:Create_Folder 
47.
REM Aktuelle Zeit holen und Doppelpunkte durch Punkte ersetzen 
48.
 set CURRENTTIME=%TIME::=.% 
49.
      
50.
REM Nur erste 8 Zeichen der Zeit verwenden: HH.MM.SS 
51.
set CURRENTTIME=%CURRENTTIME:~0,8% 
52.
      
53.
REM Archivnamen zusammensetzen 
54.
set ARCHIVNAME=Backup_%tag%_%DATE%-%CURRENTTIME% 
55.
      
56.
REM Verzeichnis erstellen 
57.
mkdir D:\%ARCHIVNAME%
ist vllt nicht sehr schön aber verständlich :D

jetzt hackt es aber bei der Abfrage das er das älteste Backup löschen soll. oder einfach das Backup Löscht was mit Backup_montag_ beginnt.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 04.07.2014, aktualisiert um 14:23 Uhr
jetzt hackt es aber bei der Abfrage das er das älteste Backup löschen soll.
steht in meinem Script von oben
01.
for /d %%b in ("D:\Backup_%tag%_*") do rd "%%b" /s /q
Grüße Uwe
Bitte warten ..
Mitglied: rubberman
LÖSUNG 04.07.2014, aktualisiert um 14:23 Uhr
Bei mir ist es Zeile 11. Dort zwar nur als ECHO Ausgabe, aber was du mit %%i anstellst, ist ja dir überlassen...

Grüße
rubberman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
HTML in Batch und Powershell (9)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (12)

Frage von planetIT2016 zum Thema Windows Server ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...