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, 5434 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
Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

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

C und C++
Methode multiple return values (8)

Frage von mayho33 zum Thema C und C ...

Microsoft Office
Übertrag in eine andere Tabelle (6)

Frage von charmeur zum Thema Microsoft Office ...