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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
8 Kommentare
Neuester Kommentar

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
Moin,
mit Batch ginge das so:
Gruß Thomas
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

Zitat von @MBGrille:
Schön wäre noch, wenn die Liste auf dem DESKTOP des ausführenden Rechners landen würde,
Schön wäre noch, wenn die Liste auf dem DESKTOP des ausführenden Rechners landen würde,
S. Anpassung oben.

Jo jedem Tierchen sein Pläsierchen, wenn wir es diesbezüglich aber ganz genau nehmen dann müsste es
lauten damit auch eventuell umgeleitete Desktops berücksichtigt werden.
$liste = "$([Environment]::GetFolderPath('Desktop'))\liste.txt"
Zitat von @3714160434:
Jo jedem Tierchen sein Pläsierchen, wenn wir es diesbezüglich aber ganz genau nehmen dann müsste es
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.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"
Gruß Thomas