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, 4081 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 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 ...

Batch & Shell

Unterverzeichnis zählen

gelöst Frage von karla123Batch & Shell20 Kommentare

Hallo liebes Forum, ich habe ein Problem und möchte Euch bitten mir zu helfen. Benötigt wird ein Batch mit ...

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. ...

DNS

DNS Forward Lookupzone Unterverzeichnis

Frage von BleifussDNS2 Kommentare

Hallo, ich habe meine internen IP Adressen bisher immer per A Record in der DNS Forward Lookupzone eine bestimmte ...

Neue Wissensbeiträge
Windows 10

Windows 10 kann XPS erzeugen aber nicht anzeigen ????

Erfahrungsbericht von Deepsys vor 9 StundenWindows 10

Heute schickt mir ein Kollegen eine E-Mail mit einer XPS-Datei vom Kunden im Anhang und fragt wie er diese ...

Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 18 StundenExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 1 TagLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 2 TagenWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless17 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server14 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...

Microsoft Office
Office 2016 oder Office 2019
Frage von PeterzMicrosoft Office13 Kommentare

Hallo zusammen, wir müssen unser Office von 2010 auf eine neuere Version Umstellen. Jetzt stellt sich die Frage, ob ...