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 Löschen der ältesten Datei im Unterverzeichnis.

Mitglied: Cadiarn

Cadiarn (Level 1) - Jetzt verbinden

10.11.2011, aktualisiert 19:02 Uhr, 4061 Aufrufe, 7 Kommentare

Moin Leutz hätte da ein kleines Prob. mit einem Batch file

Ich soll zur Zeit eine Batch Datei schreiben, die es ermöglicht die ältesten Dateien in einem angegebenen Dateipfad zu löschen unter den Bedingungen das:

a -die Festplatte nur noch wehnig speicherplatz enthält. (z.b. 1 GB)

b -Das Batch nur eine Geringe Priorität besitzt um nicht das System auszubremsen.

c -Nur in den angegebenen Pfad ausgewälte Dateien gelöscht werden. (z.b. nur JPG im Ordner D:\fd)

d -Dabei sollen alle Ordnerinhalte (auch Unterordner) mit dem Änderungsdatum vergleichen werden und die älteste Datei gelöscht.

Das ganze soll rellativ schnell unter der Bedingung "a" wiederholt werden.

bisher schaut mein Programm so aus:
::-----------------------------------------------------------------
@echo off & setlocal
@set #=||(set #=1&start "%~dpnx0" /min cmd /c %0 %*&set #=&goto :eof)
if "%1"=="" (
start /WAIT /LOW /B cmd.exe /V /C %~s0 weiter_machen
goto:eof
)

:start
set LW=C:
FOR /F "tokens=3 delims= " %%i in ('dir %LW% /-c') do set Frei=%%i
if %frei% gtr 1000000000 goto vok

set "Ordner=D:\db"
for /f "delims=" %%i in ('dir /b /o-d "%Ordner%"') do set "Alt=%Ordner%\%%i"
del "%Alt%" /s /q
pause

:vok
sleep 60
goto start
pause
::----------------------------------------------------------------

Ich bekomme es nur nicht hin das der "dir" Befehl unterordner mit einbezieht b.z.w. die änderungsdaten vergleicht.

Hoffe jemand kann mir helfen.
LG kai
Mitglied: 60730
10.11.2011, aktualisiert um 16:56 Uhr
joMän

Moin Leutz hätte da ein kleines Prob. mit einem Batch file
bisher schaut mein Programm so aus:
::-----------------------------------------------------------------
@echo off & setlocal

Dort, wo du das gefunden hast, stand sicherlich auch wie und für was es genutzt wird.
Ich bekomme es nur nicht hin das der "dir" Befehl unterordner mit einbezieht b.z.w. die änderungsdaten vergleicht.
Grass - da hat der Biber? auch voll daneben gedenkt, denn die freien Beits auf einer Bladde sind ja in jedem Unterordner annerst.

Was macht ?
dir /b /o-d

Was sagt dir /?
/scheibenkleister
Bitte warten ..
Mitglied: bastla
10.11.2011, aktualisiert um 16:56 Uhr
Hallo Cadiarn und willkommen im Forum!

Das könnte so gehen (mit Betonung auf "gehen" ):
01.
@echo off & setlocal 
02.
@set #=||(set #=1&start "%~dpnx0" /min cmd /c %0 %*&set #=&goto :eof) 
03.
if "%1"=="" ( 
04.
start /WAIT /LOW /B cmd.exe /V /C %~s0 weiter_machen 
05.
goto:eof 
06.
07.
 
08.
:start 
09.
set LW=C: 
10.
FOR /F "tokens=3 delims= " %%i in ('dir %LW% /-c') do set Frei=%%i 
11.
if %frei% gtr 1000000000 goto vok 
12.
 
13.
set "Ordner=D:\db" 
14.
set "AltDat=999999999999" & set "Alt=" 
15.
for /f "delims=" %%i in ('dir /s /b /a-d "%Ordner%"') do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do call :ProcessFile "%%c%%b%%a%%d%%e" "%%i" 
16.
if defined Alt echo del "%Alt%" /s /q 
17.
 
18.
:vok 
19.
sleep 60 
20.
goto start 
21.
 
22.
:ProcessFile 
23.
if %1 geq "%AltDat%" goto :eof 
24.
set "AltDat=%~1" 
25.
set "Alt=%~2" 
26.
goto :eof
Das Testen habe ich übrigens Dir überlassen - deswegen das "echo" vor dem "del ...

Grüße
bastla

P.S.: Mit der passenden Formatierung (lässt sich auch noch nachholen ) liest sich geposteter Code leichter ...
Bitte warten ..
Mitglied: Cadiarn
10.11.2011 um 16:02 Uhr
@TimoBeil

Manchmal sieht man den Wald vor lauter Bäumen nicht.
Der Tipp hat mich auf die Lösung gebracht geht super.

Danke.
Bitte warten ..
Mitglied: Cadiarn
10.11.2011 um 16:04 Uhr
Danke bastla werde das auch noch später testen.

LG Cadiarn
Bitte warten ..
Mitglied: bastla
10.11.2011 um 16:09 Uhr
Hallo Cadiarn!

Ich fürchte nur, ein
dir /s /b /o-d
wird Dir nicht (weit genug) helfen, da die Ausgabe immer noch je Unterordner zusammengefasst erfolgt ...

@T-Mo
... deswegen für mich eine nicht "nicht anspruchsvolle" Frage ...

Grüße
bastla
Bitte warten ..
Mitglied: Cadiarn
10.11.2011 um 16:35 Uhr
@bastla

Ja ich seh schon, hab deine Idee mal umgesetzt schaut nicht schlecht aus.

Jetzt muss ich nur noch ändern das es leere Ordner mit löscht und g.g.f. schauen das nur jpg und index.html's gelöscht werden an Dateien.

Dank dir

LG Cadiarn
Bitte warten ..
Mitglied: bastla
10.11.2011 um 16:59 Uhr
Hallo Cadiarn!
schauen das nur jpg und index.html's gelöscht werden an Dateien.
Wenn beide gemeinsam einbezogen werden sollten (also die älteste Datei, die entweder vom Typ "jpg" ist oder "index.html" heißt), könntest Du versuchsweise die Zeile 15 auf
for /f "delims=" %%i in ('dir /s /b /a-d "%Ordner%\*.jpg" "%Ordner%\index.html"') do for /f "tokens=1-5 delims=.: " %%a in ("%%~ti") do call :ProcessFile "%%c%%b%%a%%d%%e" "%%i"
ändern ...
Zum Löschen aller leeren Unterordner von %Ordner%:
for /f "delims=" %%i in ('dir /s /b /ad "%Ordner%"^|sort /r') do rd "%%i" 2>nul
Anmerkung: Durch die Sortierung werden die längeren Pfade (= Unterordner) vorweg behandelt - damit kann die Struktur "von unten nach oben" aufgerollt werden, und ein "rd" ohne weitere Schalter entfernt nur leere Ordner. Das Unterdrücken der Fehlermeldung "Das Verzeichnis ist nicht leer." durch die Umleitung des Kanals 2 (STDERR) nach "nul" ist dann nur noch Kosmetik ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Unterverzeichnis löschen
gelöst Frage von sanaitBatch & Shell4 Kommentare

Moin Moin, echo off rmdir /s /Q D:\Transfer\ diese Batch löscht ja das gesamte Verzeichnis inklusive des Ordners Transfer. ...

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

Unterverzeichnis für Unterverzeichnis via Batch-Datei durchsuchen

gelöst Frage von dhc-beaverBatch & Shell4 Kommentare

Hallo Forum. Obgleich es viele Werkzeuge gibt, um Bilder von 5MP-Handykameras kleiner zu machen, scheitert man an der Faulheit ...

Neue Wissensbeiträge
Windows Server
Erneutes Release von WS2019 und Win10 v1809
Tipp von IT-Pro vor 40 MinutenWindows Server

Hi, nachdem der Windows Server 2019 und Windows 10 in der Version 1809 aufgrund von verschwinden von Dateien nach ...

CPU, RAM, Mainboards
Spectre Update Tool für ältere PCs
Information von sabines vor 3 StundenCPU, RAM, Mainboards2 Kommentare

Mit Hilfe eines Tools wird der betreffende PC permanent von einem USB Stick gestartet, der ein passendes Microcode Update ...

Windows 10
Windows 10 Oktober 2018 Update: Es ist wieder da
Tipp von Bowsette vor 11 StundenWindows 101 Kommentar

Ein neuer Versuch von Microsoft das Windows 10 Oktober 2018 Update, auch bekannt als 1809, an den Mann zu ...

Windows Server

Windows Server 2016: Achtung - ab heute gibt es wieder Express Updates

Information von kgborn vor 22 StundenWindows Server1 Kommentar

Kurze Info für Administratoren, die Windows Server 2016 per WSUS/SCCM mit Updates betanken. Ab heute gibt es für Windows ...

Heiß diskutierte Inhalte
Microsoft Office
Lizenzierung
Frage von opc123Microsoft Office29 Kommentare

Hallo, eventuell ein oft bekanntes Thema. Office 365 ist mir zu teuer, da wir als Bildungsträger andere Konditionen beim ...

Windows 10
Windows 10 mit CRITICAL PROCESS DIED
Frage von liquidbaseWindows 1028 Kommentare

Das aktuelle Problem was ich habe steht bereits im Threadtitel. Etwas mehr zum Hintergrund soll nun folgen. Problemkind ist ...

Windows Server
Windows Server 2016 Lizenzierung - 7 Hyper V VMs
Frage von staybbWindows Server18 Kommentare

Hallo zusammen, wir haben zwei HP Server gekauft mit jeweils pro Server 2 CPUs à 10 Cores. Also insgesamt ...

Windows Server
WIE ?? Server 2016 2x RDP welche das gleiche sehen können wie VNC
Frage von ChrisXYWindows Server12 Kommentare

Hallo, aktuell habe ich Windows10 welches wohl zu Server2016 wechseln wird. Aktuell habe ich eine Video Überwachungssoftware welche per ...