mbgrille
Goto Top

Ordner suchen, deren Inhalt nicht aktuell ist

Hallo und guten Tag,

wie der Titel schon sagt, muss ich Ordner finden (am besten hier nur die Ordner, welche sich in einer Ebene befinden - also nicht weitere Unterordner), deren Inhalte alt sind. "Alt" wäre in meinem Fall 5 Jahre. Kein Inhalt soll also jünger sein. Diese Ordner sollen dann in einer Liste gespeichert werden.

Ich habe hier schon mit "forfiles" probiert, aber damit scheine ich nur ganz konkret einzelne Dateien finden zu können.

Vielen Dank für euche Hilfe.
Grille

Content-ID: 3800782283

Url: https://administrator.de/forum/ordner-suchen-deren-inhalt-nicht-aktuell-ist-3800782283.html

Ausgedruckt am: 08.04.2025 um 16:04 Uhr

3714160434
Lösung 3714160434 31.08.2022 aktualisiert um 12:10:36 Uhr
Goto Top
Am besten gleich die PowerShell nehmen
$ordner = 'd:\quelle'  
$liste ="$([Environment]::GetFolderPath('Desktop'))\liste.txt"  
Get-ChildItem $ordner -Directory | ?{!(Get-ChildItem $_.Fullname -File -Recurse | ?{$_.LastWriteTime -gt (get-date).AddYears(-5)})} | select -ExpandProperty Fullname | set-content $liste
TK1987
TK1987 31.08.2022 um 11:01:17 Uhr
Goto Top
Moin,

mit Batch ginge das so:
@echo off

set Source=C:\Test
set Output=C:\Test\Alte-Ordner.lst
set /a Year=%date:~-4% -5

for /d %%A in ("%Source%\*") do call :CheckDir "%%A"  
goto :EoF

:CheckDir
  forfiles /p "%~1" /d +%date:~0,-4%%Year% /m *.* 1>nul 2>&1  
  if %ErrorLevel% neq 0 >>"%Output%" echo %~1  

Gruß Thomas
MBGrille
MBGrille 31.08.2022 um 11:43:02 Uhr
Goto Top
Super - habe mich da reingearbeitet und es klappt.

Schön wäre noch, wenn die Liste auf dem DESKTOP des ausführenden Rechners landen würde, aber so ist es schon sehr hilfreich den Server nach "Müll" zu durchsuchen!!!!

Danke!
3714160434
3714160434 31.08.2022 aktualisiert um 11:48:04 Uhr
Goto Top
Zitat von @MBGrille:
Schön wäre noch, wenn die Liste auf dem DESKTOP des ausführenden Rechners landen würde,

S. Anpassung oben.
TK1987
TK1987 31.08.2022 um 11:50:21 Uhr
Goto Top
Zitat von @3714160434:
S. Anpassung oben.
$HOME\Desktop hätte es auch getan face-wink

Gruß Thomas
MBGrille
MBGrille 31.08.2022 um 11:51:17 Uhr
Goto Top
Vielen Dank! face-smile
3714160434
3714160434 31.08.2022 aktualisiert um 12:11:50 Uhr
Goto Top
Zitat von @TK1987:
$HOME\Desktop hätte es auch getan face-wink
Jo jedem Tierchen sein Pläsierchen, wenn wir es diesbezüglich aber ganz genau nehmen dann müsste es
$liste = "$([Environment]::GetFolderPath('Desktop'))\liste.txt"  
lauten damit auch eventuell umgeleitete Desktops berücksichtigt werden.
TK1987
TK1987 31.08.2022 um 12:49:57 Uhr
Goto Top
Zitat von @3714160434:
Jo jedem Tierchen sein Pläsierchen, wenn wir es diesbezüglich aber ganz genau nehmen dann müsste es
$liste = "$([Environment]::GetFolderPath('Desktop'))\liste.txt"  
lauten damit auch eventuell umgeleitete Desktops berücksichtigt werden.
Imho gehört zu jeder guten Umleitung ein Link an alter Wirkungsstätte, sonst bekommt man auch bei diversen Programmen auf dem Markt Probleme, die Umleitungen ebenfalls nicht berücksichtigt haben. Damit entgeht man der kompletten Problematik.

Gruß Thomas