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, 4034 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 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein interessanter Beitrag dazu: Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10 Anscheinend ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL14 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1011 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)11 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs11 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...