Top-Themen

Aktuelle Themen (A bis Z)

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
Kommentar vom Moderator Biber am 18.02.2010 um 17:11:18 Uhr
Beitrag von "Anleitung" auf "Frage" geändert und Codeformatierung nachgetragen.

gelöst Batchdatei - Verzeichnisse löschen die älter sind als

Mitglied: PaceLu

PaceLu (Level 1) - Jetzt verbinden

18.02.2010, aktualisiert 17:11 Uhr, 7815 Aufrufe, 5 Kommentare

Hallo Zusammen
Ich komme nicht weiter mit meinem Script. In meiner batch-Datei möchte ich noch hinzufügen, dass es mir alle Verzeichnisse löscht,
welche älter sind als 6 Monate.

Also zuerst zu meinem Script. Es ist ein Script, welches mir mit NTBackup Images auf meine externe Festplatte erstellt.
Es erstellt mir jeweils gleich ein Ordner mit dem aktuellen Datum und Zeit. Die Ordner werden mir folgendermassen beschriftet:

17-02-2010--09-25
18-02-2010--13-54
usw.

Jetzt versuche ich die Verzeichnisse zu löschen, welche älter als 6 Monate sind. Und dies gleich in mein Script einbauen.
Geht das, dass er den Ordnernamen nach der Zeit überprüft und löscht? Oder wäre es besser, wenn er das Erstelldatum abfragt und
dann die älteren löscht? Kann mir jemand mit dem Befehl helfen?

Hier seht ihr noch mein Script:
01.
@echo off
02.
@title Datensicherung
03.
@color 1F
04.

05.
rem ##################################################
06.
rem #  NTBackup-Sicherung auf Platte  (v 2005090201)                      #
07.
rem #                """""""""""""""""""""""""""""""""""""""""""""""""""                            #
08.
rem ##################################################
09.

10.
rem Skript und .bks Dateien in E:\Backup
11.
set configdisk=E:
12.
set configdir=%configdisk%\Backup\
13.
set configbksfile=Backup.bks
14.

15.
rem Datensicherung nach E:\Backup (auf Festplatte)
16.
set backupdir=E:\Backup
17.

18.
rem Name des Servers
19.
set serverbackup=%COMPUTERNAME%
20.

21.
rem ##########################################################
22.
rem # evtl. Ergänzung für mehrtägige Sicherung hier einfügen                              #
23.
rem ##########################################################
24.

25.
%configdisk%
26.
cd %configdir%
27.

28.

29.

30.
rem ### Datensicherung ###
31.

32.
rem **** Zeitstempel-String erzeugen ****
33.

34.
for /f "Tokens=1-4 Delims=/. " %%i in ('date /t') do  set dt=%%i-%%j-%%k-%%l
35.
for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i
36.
set tm=%tm::=-%
37.
set dtt=%dt%%tm%
38.

39.
rem **** Sicherung starten *****
40.

41.
echo Sicherung Datei-Daten von %serverbackup%
42.
ntbackup backup "@%configdir%\%configbksfile%"  ^
43.
         /n "%serverbackup%-Backup Dateidaten"  ^
44.
         /d "%serverbackup%-Sicherung Dateidaten"  ^
45.
         /v:YES /r:no /rs:no /hc:off /m normal  ^
46.
         /l:f /f "%backupdir%\%dtt%\%serverbackup%.bkf"
47.

48.
exit

Vielen Dank im Voraus für eure Hilfe

Grüsse

PaceLu
Mitglied: rubberman
19.02.2010 um 01:52 Uhr
Hallo PaceLu,

in Batchdateien kannst du nicht mit DateTime-Werten rechnen. Was aber gehen sollte: 7 Monate zurück rechnen (unabhängig vom Tag) und alles löschen, was dem Format XX-07-2009-* entspricht. Das bedeutet, dass immer beim ersten Aufruf in einem neuen Monat genau die Verzeichnisse gelöscht werden, die älter als 6 und neuer als 8 Monate sind. Häng mal diesen Schnipsel an:
01.
for /f "delims=- tokens=2,3" %%a in ("%dtt%") do set "monat=%%a" &set /a jahr=%%b
02.
if %monat:~,1%==0 set "monat=%monat:~1%"
03.
set /a monat-=7
04.
if %monat% lss 1 (
05.
  set /a monat+=12
06.
  set /a jahr-=1
07.
)
08.
if %monat% lss 10 set "monat=0%monat%"
09.
set "pattern=[0-3]*[0-9]-%monat%-%jahr%-"
10.
pushd "%backupdir%"
11.
for /d %%a in (*) do (echo %%a|findstr /r /c:"^%pattern%">nul&&ECHO rd /s /q "%%a")
12.
popd
Zum scharf machen entferne das ECHO vor rd, falls die richtigen Verzeichnisse gefunden werden.

Grüße
rubberman
Bitte warten ..
Mitglied: PaceLu
19.02.2010 um 08:09 Uhr
Vielen Dank rubberman.

Werde ich gleich mal ausprobieren und eine Rückmeldung geben, ob es geklappt hat.

Greez
Bitte warten ..
Mitglied: PaceLu
19.02.2010 um 13:37 Uhr
Guten Tag

Ich muss leider nochmals posten. Es funktioniert nicht. Er start kurz die Commandline und verschwindet dann gleich wieder.
Ich habe diesen Befehl separat in ein Batch-File kopiert, den Pfad angepasst und ausgeführt. Geht nicht!
Habe ich jetzt dieses Skript richtig intepretiert, liesst er den Ordnernamen aus?

Mein komplettes Skript (mit dem Löschen), sieht jetzt folgendermassen aus:
01.
@echo off
02.
@title Datensicherung
03.
@color 1F
04.

05.
rem ##################################################
06.
rem #  NTBackup-Sicherung auf Platte  (v 20100218)   #
07.
rem #                *************************           #
08.
rem ##################################################
09.

10.
rem Skript und .bks Dateien in E:\Backup
11.
set configdisk=E:
12.
set configdir=%configdisk%\Backup\
13.
set configbksfile=Backup.bks
14.

15.
rem Datensicherung nach E:\Backup (auf Festplatte)
16.
set backupdir=E:\Backup
17.

18.
rem Name des Servers
19.
set serverbackup=%COMPUTERNAME%
20.

21.
rem ##########################################################
22.
rem # evtl. Ergänzung für mehrtägige Sicherung hier einfügen #
23.
rem ##########################################################
24.

25.
%configdisk%
26.
cd %configdir%
27.

28.

29.

30.
rem ### Datensicherung ###
31.

32.
rem **** Zeitstempel-String erzeugen ****
33.

34.
for /f "Tokens=1-4 Delims=/. " %%i in ('date /t') do  set dt=%%i-%%j-%%k-%%l
35.
for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i
36.
set tm=%tm::=-%
37.
set dtt=%dt%%tm%
38.

39.
rem **** Sicherung starten *****
40.

41.
echo Sicherung Datei-Daten von %serverbackup%
42.
ntbackup backup "@%configdir%\%configbksfile%"  ^
43.
         /n "%serverbackup%-Backup Dateidaten"  ^
44.
         /d "%serverbackup%-Sicherung Dateidaten"  ^
45.
         /v:YES /r:no /rs:no /hc:off /m normal  ^
46.
         /l:f /f "%backupdir%\%dtt%\%serverbackup%.bkf"
47.

48.

49.

50.
rem *****************************
51.
rem * Ergänzung für Logrotation *
52.
rem *****************************
53.
rem logrotation.bat
54.

55.
rem ********************************************************
56.
rem * evtl. Ergänzung Email-Benachrichtigung hier einfügen *
57.
rem ********************************************************
58.

59.
rem **** Neustes Logfile verschieben und per Mail senden 
60.

61.
for /f %%i in ('dir /b /od "C:\Dokumente und Einstellungen\Luca\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log"') do @set Neueste=%%i
62.

63.
copy "C:\Dokumente und Einstellungen\Luca\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\%Neueste%" "E:\Backup\logs\logfile.txt"
64.

65.
blat "E:\Backup\logs\logfile.txt" -to ******@*****.** -u *******@******.** -pw *******
66.

67.
rem ********************************************************
68.
rem * Löschen von älteren Daten				   *
69.
rem ********************************************************
70.

71.
for /f "delims=- tokens=2,3" %%a in ("%dtt%") do set "monat=%%a" &set /a jahr=%%b 
72.
if %monat:~,1%==0 set "monat=%monat:~1%" 
73.
set /a monat-=7 
74.
if %monat% lss 1 ( 
75.
  set /a monat+=12 
76.
  set /a jahr-=1 
77.
) 
78.
if %monat% lss 10 set "monat=0%monat%" 
79.
set "pattern=[0-3]*[0-9]-%monat%-%jahr%-" 
80.
pushd "%backupdir%" 
81.
for /d %%a in (*) do (%%a|findstr /r /c:"^%pattern%">nul&& rd /s /q "%%a") 
82.
popd
[Edit Biber] Zum zweiten Mal in diesem Thread Codetags gesetzt. [/Edit]
Bitte warten ..
Mitglied: rubberman
20.02.2010 um 00:51 Uhr
Hallo PaceLu,

ob bei ntbackup oder blat der Fehler im Detail liegt, kann ich nicht sagen, da ich diese Tools nicht nutze.
Aber in Zeile 81 solltest du nur das echo vor dem rd entfernen, also
01.
for /d %%a in (*) do (echo %%a|findstr /r /c:"^%pattern%">nul&&rd /s /q "%%a")
Sonst habe ich nichts gesehen, was einen Abbruch provozieren könnte.

BTW:In Zeile 61 bekommst du das älteste File, da von neu nach alt sortiert wird und somit das älteste letztlich in der Variablen stehen bleibt. Nutze /o-d statt /od.
Edit: Sorry. Das war natürlich Unsinn.

Grüße
rubberman
Bitte warten ..
Mitglied: PaceLu
23.02.2010 um 12:59 Uhr
Hallo

So es hat geklappt. Es hat am diesem echo gelegen. Zudem hat es den Pfad mit der Variable nicht funk###iert. Habe den Pfad direkt eingegeben.

Vielen Dank für deine Hilfe

PaceLu
Bitte warten ..
Ähnliche Inhalte
Windows 7
Strg-Alt-Entf bei Anmeldung?
gelöst Frage von DirmhirnWindows 712 Kommentare

Hi, soweit ich das gehört habe soll die Kombination Strg-Alt-Ctrl bei der Windows Domain-Anmeldung gegen "überlagende" Malware helfen. Habt ...

Windows 7
Strg + Alt + Entf komplett blockieren
gelöst Frage von KaladialWindows 710 Kommentare

Hallo, ich hab eine eigentlich relativ simple Frage, auf die Mr.Google aber leider keine zufriedenstellende Antwort hatte. Folgendes Problem: ...

Batch & Shell

Verzeichniss überwachen Datei kopieren und umbenennen

gelöst Frage von fischle63Batch & Shell6 Kommentare

Hallo, Habe folgendes Problem: In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd" Ich brauche eine ...

Batch & Shell

Batchdatei: Variablen-Wertezuweisung

gelöst Frage von donnyS73lbBatch & Shell2 Kommentare

Hallole, eine Anfängerfrage: Was mache ich hier falsch? echo %variable1% liefert das richtige Ergebnis, denn variable1 hat einen gültigen ...

Neue Wissensbeiträge
Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 1 TagInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 2 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 4 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Sicherheit

Wikileaks-Gründer Julian Assange wurde festgenommen

Information von Frank vor 7 TagenSicherheit3 Kommentare

Wikileaks-Gründer Julian Assange wurde heute in London festgenommen. Die Botschaft Ecuadors, in der er seit sieben Jahren lebte, hat ...

Heiß diskutierte Inhalte
Tipps & Tricks
Verdammt voll erwischt
Frage von AlchimedesTipps & Tricks23 Kommentare

Folgende Mail habe ich auf meinem Freenet Account erhalten: Nun folgendes Problem: 1) Ich besuche Porno Seiten yep hat ...

Drucker und Scanner
Xerox 7328 muss jeden Tag neu installert werden
Frage von PN-SchrauberDrucker und Scanner20 Kommentare

hallo, ich habe in Problem mit einem unserer Drucker. Vorweg, die meisten unserer Netzwerkdrucker laufen über einen Druckserver, dieser ...

HTML
Google maps
Frage von jensgebkenHTML20 Kommentare

Hallo Gemeinschaft, hab mal ne Frage zu Maps - habe es hinbekommen, dass ich einen iframe link erstellen kann ...

Switche und Hubs
PC Verursach Probleme im Netzwerk
gelöst Frage von spoboeSwitche und Hubs16 Kommentare

Hallo zusammen, folgene Situation macht mich inzwischen ratlos: In unserem Betrieb ist ein Rechner über die Hausverkabelung an einem ...