belfry
Goto Top

Ordner inkl. Unterordner nach Dateien überprüfen

Hallo,

ich bin neu hier im Forum und arbeite auch relativ neu als Administrator.

Ich soll ein Batchskript schreiben, welches in einem Temp-Verzeichnis weitere Ordner inkl. Unterordner überprüft, ob Dateien vorhanden sind. Falls nein, sollen diese Ordner gelöscht werden.

Eine weitere Aufgabe Dateien in diesem Ordner inkl. Unterordner zu löschen, die älter als x Tage sind, habe ich gelöst. Nur halt das Ordnerproblem konnte ich noch nicht lösen.

Hat jemand von euch bitte einen Tipp?

Liebe Grüße Belfry ;)

Content-Key: 310841

Url: https://administrator.de/contentid/310841

Printed on: April 25, 2024 at 17:04 o'clock

Member: Dirmhirn
Dirmhirn Jul 25, 2016 at 15:57:45 (UTC)
Goto Top
Hi,

wo hängst du denn? weißt du nicht wie du herausfindest ob ein Ordner leer ist? oder wie du ihn löschst? oder wie du ihn löschst nachdem du ihn durchsucht hast und das Skript schon beim nächsten Ordner ist?

desto mehr gezielte Infos du gibt's desto schneller wird dir geholfen werden.
zb. die Codezeilen die Probleme machen. Das ganze Skirpt kann auch helfen, aber das Skript posten nach dem Moto: "Da ist es sucht mir die Fehler" ist auch meist "demotivierend" für die Leser.

sg Dirm
Mitglied: 129813
129813 Jul 25, 2016 updated at 17:16:33 (UTC)
Goto Top
Hi.
@echo off
set "folder=%TEMP%\FolderXYZ"  
set cnt=
for /f "tokens=1 delims=:" %%a in ('dir /b /s /a-d "%folder%" ^| findstr /n "^" 2^>nul') do set cnt=%%a  
if not defined cnt (
    echo Folder is empty, deleting "%folder%".  
    rd "%folder%" /s /q  
) else (
    echo Folder has %cnt% files.
)
Regards
Member: belfry
belfry Jul 25, 2016 at 18:08:14 (UTC)
Goto Top
Hallo sorry... hatte den Ansatz jetzt nicht hier vor Ort. Ich habe ihn versucht zu rekonstruieren...

Mein erster Ansatz war ungefähr dieser:

set %dir% = "d:\temp"  
for /D %%i in (%dir%\*.*) ( for /F %%a in ('dir /B %1') do rd %%i /s /q)  
Member: belfry
belfry Jul 25, 2016 updated at 18:16:58 (UTC)
Goto Top
@129813:

Danke / Thanks a lot.

Ich werde es morgen mal ausprobieren. / I will try it tomorrow.

Greetings