Skript Diese Powershell wird älter als 5 Tage, 10 Stunden und 5 Minuten. Sie können es als eine Datei mit einer Erweiterung .ps1
speichern und dann laufen:
# You may want to adjust these
$fullPath = "c:\path\to\your\files"
$numdays = 5
$numhours = 10
$nummins = 5
function ShowOldFiles($path, $days, $hours, $mins)
{
$files = @(get-childitem $path -include *.* -recurse | where {($_.LastWriteTime -lt (Get-Date).AddDays(-$days).AddHours(-$hours).AddMinutes(-$mins)) -and ($_.psIsContainer -eq $false)})
if ($files -ne $NULL)
{
for ($idx = 0; $idx -lt $files.Length; $idx++)
{
$file = $files[$idx]
write-host ("Old: " + $file.Name) -Fore Red
}
}
}
ShowOldFiles $fullPath $numdays $numhours $nummins
Hier finden Sie ein wenig mehr Details über die Linie, die die Dateien filtert. Es ist in mehr aufgeteilt (nicht legal Powershell sein kann), so dass ich Kommentare enthalten könnte:
$files = @(
# gets all children at the path, recursing into sub-folders
get-childitem $path -include *.* -recurse |
where {
# compares the mod date on the file with the current date,
# subtracting your criteria (5 days, 10 hours, 5 min)
($_.LastWriteTime -lt (Get-Date).AddDays(-$days).AddHours(-$hours).AddMinutes(-$mins))
# only files (not folders)
-and ($_.psIsContainer -eq $false)
}
)
Der -OlderThan Schalter in PS2.0 nicht verfügbar ist. Nicht sicher, wann es eingeführt wurde, aber es ist definitiv in PS4.0 verfügbar. – Mike