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
GELÖST

älteste Dateien aus Verzeichnis löschen

Frage Entwicklung Batch & Shell

Mitglied: voxi

voxi (Level 1) - Jetzt verbinden

28.11.2006, aktualisiert 02.12.2006, 10559 Aufrufe, 3 Kommentare

@echo off & setlocal

Call GetAllDateTimeInfos /s
:: (alle Variablen wie JJ, MM, TT etc sind gesetzt sind gesetzt)
Set "LogFile=BatchSicherung\vogg_%JJ%%MM%%TT%_%hh%%min%.log"
Set "NewBackup=BatchSicherung\vogg_%JJ%%MM%%TT%_%hh%%min%.db"
echo %logfile%
echo %newbackup%
Call GetAllDateTimeInfos /u
echo Datumswerte erstellt

cd d:\AmicDB\Vogg\
echo Ins Verzeichnis AmicDB Vogg gewechselt
copy vogg.db %NewBackup% >>%LogFile%
IF ERRORLEVEL 1 goto FEHLER_beim_Copy
echo DatenbankDatei korrekt kopiert
FC /b vogg.db %NewBackup% >>%LogFile%
IF ERRORLEVEL 1 goto FEHLER_beim_Vergleich
:: wenn ok, dann Rechner runterfahren...
echo DatenbankDatei korrekt verglichen
::CALL C:\AMIC\Aeins\batch\Sichern_VOGG.bat
::echo Sicherungsdatei ausgeführt
echo jetzt wird heruntergefahren
shutdown -s -f -t 05
goto :eof

:FEHLER_Beim_Copy
::evtl Blat.exe (Freewaretool zum Versenden von einfachen Mails vom CMD-Prompt aus) bitte Forumssuche benutzen oder eine Suchmaschine.
echo "Fehler beim Kopieren..." >>%LogFile%
goto :eof

:FEHLER_Beim_Vergleich
::evtl Blat.exe (Freewaretool zum Versenden von einfachen Mails vom CMD-Prompt aus) bitte Forumssuche benutzen oder eine Suchmaschine.
echo "Fehler beim Vergleich..." >>%LogFile%
goto :eof


hi profis!!!

will zu dieser datei noch hinzufügen, dass die ältesten dateien aus diesem verzeichnis (zb älter als 50 tage) automatisch gelöscht werden sollen und auch aus dem papierkorb entfernt werden, um speicherplatz zu sparen

kann mir dabei irgendwer helfen?
vielen dank im voraus!!!!

lg silvia
Mitglied: y3k
28.11.2006 um 13:38 Uhr
Hi,

google mal nach "delage" - ist ein Kommandozeilentool, das genau das kann

greetz
stephan
Bitte warten ..
Mitglied: Biber
28.11.2006 um 19:58 Uhr
Moin voxi,

grundsätzlich kann ich nur zu dem wirklich praktischen Tool DelAge32.exe raten,
das ich ich auch schon ein paar mal bei ähnlichen Fragestellungen hier im Forum empfohlen habe.

Wie ich grad gelesen habe, hat Horst Schaeffer auch gerade eine neue Version DelAge32.exe 2.0 bereitgestellt.
Obwohl schon ganz viele Nutzer auch an der bisherigen Version 1.5 nichts vermissen.


Der Vorteil gegenüber einer Batch-(im Sinne von *.bat-Datei)Verarbeitung ist eben die rekursive Verarbeitung, die in einem, noch dazu kompilierten Tool stattfindet.

In native Batch ist keine (schmerzfreie) Verarbeitung von Datumswerten machbar.. Hier muss man/frau mindestens auf die vorhandenen DateAdd()/DateDiff() der Light-Skriptsprachen zurückgreifen.
Davon die beliebteste ist sicherlich VBSkript.

Ein Beispiel (bzw. der erste Schritt) wäre ein kleiner VBS-Schnipsel zum Zusammenspiel mit einem Batch dieser Art:
01.
'----GetFileAge.vbs 
02.
Set fso = CreateObject ("Scripting.FileSystemObject")  
03.
Set f = fso.getfile(wscript.arguments(0))  
04.
WScript.echo DateDiff("d", f.DateLastModified, now()) 
05.
Set fso = nothing
Dieser VBS-Schnipsel würde für eine einzelne Datei das Alter in Tagen ausgeben.
Beispiel für eine Datei bzw für eine Liste von Dateien rekursiv unterhalb eines Verzeichnisses:
[Am CMD-Prompt]
01.
>for /f %f in ('cscript //nologo GetFileAge.vbs "datetime.txt"') do @echo %f 
02.
239 
03.
>for /r "d:\temp" %i in (*.txt) do @for /f %f in ('cscript //nologo GetfileAge.vbs "%i" ') do @echo %f %i 
04.
13 d:\temp\Beispiel.txt 
05.
69 d:\temp\benutzer1.txt 
06.
147 d:\temp\benutzer2.txt 
07.
239 d:\temp\datetime.txt 
08.
50 d:\temp\logfile.txt 
09.
258 d:\temp\MessSub.txt 
10.
62 d:\temp\$home\logs\log.txt 
11.
586 d:\temp\Backup1\Admincopy\Anwendungsdaten\Microsoft\Internet Explorer\brndlog.txt 
12.
586 d:\temp\Backup1\Admincopy\Anwendungsdaten\Microsoft\Internet Explorer\rsoplog.txt 
13.
....
Theoretisch ließe sich so ein Konstrukt im Batch nutzen:

[..im Batch...]
01.
... 
02.
 
03.
for /r "%SicherungsRoot%" %%i in (*.*) do ( 
04.
    for /f %%f in ('cscript //nologo GetFileAge.vbs "%%i" ') do If %%f GTR 50 del /q "%%i" >nul 
05.
)    
...dann würden alle Dateien älter als 50 Tage in allen Unterverzeichnissen unterhalb %SicherungsRoot% gelöscht.

Allerdings würde dann auch der Batch bei 10000 Dateien zu prüfenden Dateien im Verzeichnis auch 10000 Mal das VBS-Skript aufrufen.

Das ist Bullshit suboptimal und stinkelangsam ineffizient.

Der nächste Schritt wäre folgerichtig, dem VBSkript nicht einzelne Dateinamen zu übergeben, sondern einen Verzeichnisnamen, in dem dann alle Dateien mit mehr als 50 Nächten auf dem Buckel gefälligst gelöscht werden.
Der übernächste Schritt wäre, das Ganze eben auch rekursiv zu machen.
Alles kein Hexenwerk...aber eben auch schon ein oder zweimal erfunden worden im Lauf der Jahrhunderte.

Womit ich wieder bei meiner Empfehlung DelAge32.exe wäre.

Liebe Grüße
Biber
Bitte warten ..
Mitglied: voxi
02.12.2006 um 11:00 Uhr
Danke euch recht herzlich.
habs jetzt mit delage probiert und es dürft passen.
danke und lg silvia

@echo off & setlocal

Call GetAllDateTimeInfos /s
:: (alle Variablen wie JJ, MM, TT etc sind gesetzt sind gesetzt)
Set "LogFile=BatchSicherung\vogg_%JJ%%MM%%TT%_%hh%%min%.log"
Set "NewBackup=BatchSicherung\vogg_%JJ%%MM%%TT%_%hh%%min%.db"
echo %logfile%
echo %newbackup%
Call GetAllDateTimeInfos /u
echo Datumswerte erstellt

cd d:\AmicDB\Vogg\
echo Ins Verzeichnis AmicDB Vogg gewechselt

:: Datei kopieren
copy vogg.db %NewBackup% >>%LogFile%
IF ERRORLEVEL 1 goto FEHLER_beim_Copy
echo DatenbankDatei korrekt kopiert

:: Datei vergleichen
FC /b vogg.db %NewBackup% >>%LogFile%
IF ERRORLEVEL 1 goto FEHLER_beim_Vergleich

::alte Dateien löschen
echo Alte Dateien werden gelöscht
Call Delage32 d:\AmicDB\Vogg\BatchSicherung\*.db 60

:: wenn ok, dann Rechner runterfahren...
echo DatenbankDatei korrekt verglichen
echo jetzt wird heruntergefahren
shutdown -s -f -t 05
goto :eof

:FEHLER_Beim_Copy
::evtl Blat.exe (Freewaretool zum Versenden von einfachen Mails vom CMD-Prompt aus) bitte Forumssuche benutzen oder eine Suchmaschine.
echo "Fehler beim Kopieren..." >>%LogFile%
goto :eof

:FEHLER_Beim_Vergleich
::evtl Blat.exe (Freewaretool zum Versenden von einfachen Mails vom CMD-Prompt aus) bitte Forumssuche benutzen oder eine Suchmaschine.
echo "Fehler beim Vergleich..." >>%LogFile%
goto :eof
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien (keine Ordner) löschen die älter sind als
gelöst Frage von siziigilendirmezBatch & Shell4 Kommentare

Guten Morgen ich möchte gerne mit einer power Shell Dateien löschen die älter als 30 tage sind. Die Dateien ...

Batch & Shell
Powershell ältere Dateien löschen
gelöst Frage von Cougar77Batch & Shell6 Kommentare

Hallo, ich habe ein kleines Problem mit einem Datenaustauschordner. Und zwar möchte ich, dass in einem Ordner Dateien 30 ...

Batch & Shell
Powershell: Ein Verzeichnis löschen, wenn eine spezielle Datei darin älter ist, als X Tage
gelöst Frage von fraggle666Batch & Shell4 Kommentare

Hallo zusammen, ich bin gerade dabei einen sehr großen Roaming Profile Share zu bereinigen. 60% aller dort gelisteten Profile ...

Batch & Shell
Alle Dateien in Verzeichnis und Unterverzeichnissen löschen, mit Ausnahme aller.txt-Dateien
gelöst Frage von tegwertBatch & Shell5 Kommentare

Hallo zusammen! Ich habe zum löschen aller Dateien in bestimmten Verzeichnissen und dessen Unterverzeichnissen folgende Batchzeile erstellt: Dabei muss ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 StundeTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 StundeSicherheit4 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 StundenSicherheit3 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 3 StundenSicherheit10 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1027 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen19 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...