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

Dateien anhand von Datum löschen

Frage Entwicklung Batch & Shell

Mitglied: Chizze

Chizze (Level 1) - Jetzt verbinden

23.02.2009, aktualisiert 14:24 Uhr, 5423 Aufrufe, 2 Kommentare

Hallo Liebe Administratoren gemeinde,

ich habe zurzeit folgendes Problem:

ich muss aus einem Ordner, der Upatedatein enthält, Dateien löschen die älter sind als 5 Tage (Vom aktuellen Datum ausgehend).
Ich hab mich auch erstmal ran gesetzt und im Internet belesen und mein momentaner lösungsstand sie so aus, dass ich Datein löschen kann die 5 Tage älter sind, allerdings wird nicht auf den Monat oder das Jahr geachtet.
Um das zu besser erklären zu können ein kurzes Beispiel: heute - 23.02.2009, Dateien mit Erstelldatum 19.01.2009 oder 22.11.2008 bleiben alle bestehn. Das ist das Problem. Den Quelltext häng ich gern mit an.

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen kann.


@echo off

set dd=%date:~3,2%
set m=%date:~6,2%
set y=%date:~9,13%
set /a tage=5

IF %dd% GEQ 6 (
set /a dd-=%tage%
) ELSE (
goto ende
)
IF %dd% LEQ 9 (
goto caldat2
rem set newdate=0%dd%.%m%.%y%
) ELSE (
goto caldat1
)
:caldat1
set newdate=%dd%.%m%.%y%
goto Main

:caldat2
set newdate=0%dd%.%m%.%y%
goto Main

:Main
FOR /F "tokens=1,4 skip=7 delims= " %%d in ('dir "C:\Inetpub\ftpSymantecUpdates\*.*"') DO (

IF not "%%e" =="Bytes" (
echo %%e - %%d

IF %newdate% GEQ %%d (
echo %%e, %%d
ECHO J | del C:\Inetpub\ftpSymantecUpdates\%%e
)
)
)
pause
:ende
quit
Mitglied: Bolle97
23.02.2009 um 15:53 Uhr
Hallo,

1. wurde über dieses Thema schon unzählige Male diskutiert, einfach mal suchen.

2. meine Empfehlung "DelAge32.exe"

Gruß René
Bitte warten ..
Mitglied: Chizze
24.02.2009 um 15:06 Uhr
Problem ist gelöst!

Da ich auf dem Server keine I-net freischaltung hab, konnte ich das Tool "DelAge32" nicht nutzen und hab nun mein Program Code zusammen bekommen.
Fals jmd mal das gleiche Problem haben wird, ich stellt den Quelltext noch mit zur Verfügung!


Rem ...Löscht Datein aus einem Verzeichnis die Älter sind als X Tage. Die größe X kann man in

der Letzten Zeile ändern, nach "GEQ".

@echo Off & setlocal EnableDelayedExpansion
PushD "x:\Ordner"

for %%i in (*.*) do (
for /f "tokens=1-3,5-7 delims=. " %%a in ("%%~ti %date%") do (
echo "set /a datediff= %%f*365 + %%e*30 + %%d - %%c*365 - %%b*30 -%%a"
if !datediff! GEQ 5 echo "%%i"
))
pause
Bitte warten ..
Ähnliche Inhalte
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 ...

Batch & Shell
HTML in Batch und Powershell (12)

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

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

Frage von planetIT2016 zum Thema Windows Server ...