Ich muss einige Dateien programmgesteuert (vorzugsweise mit Powershell) aus einem Ordner löschen, die älter als eine bestimmte Anzahl von Tagen sind.Löschen von Dateien älter als xx Tage
Ich habe ein einfaches Skript geschrieben, das dies tun wird, aber das Problem, das ich habe, ist, dass es Probleme zu haben scheint, sogar zu löschen, aufgrund der schiere Menge an Dateien im Ordner.
Ich suche nach einer Möglichkeit, in Stapeln wahrscheinlich zu löschen. So würde es vielleicht die ersten 1000 bekommen, löschen und dann weiter so.
Im Moment hat der Ordner wahrscheinlich mehrere hunderttausend Dateien und ist praktisch nicht zu durchqueren.
Param(
[Parameter(Mandatory=$true)][string]$Path,
[Parameter(Mandatory=$true)][string]$DaysToDelete
)
$limit = (Get-Date).AddDays($DaysToDelete)
$LogFile = "FileCleanupLog-$(Get-Date -f yyyyMMdd_HH_mm_ss).txt";
function Log-Message
{
Param ([string]$logtext)
Add-content $LogFile -value $logtext
}
If (-Not (Test-Path $Path))
{
Write-Host "Invalid Path provided!" -ForegroundColor Red
Exit
}
$files = Get-ChildItem -Path $Path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit }
If ($files.Count -GT 1) {
$files | % {$directory=$_.DirectoryName;(Log-Message "Deleting File $directory\$_");$_ } | Remove-Item -Force
}
Haben Sie versucht, Piping get-childitem zu SELECT, wie in 'get-childitem. | Wählen Sie -first 100' aus? Sie müssen das Skript, das Sie derzeit haben, veröffentlichen. –
Danke, dass du so unhöflich bist. Wenn Sie sich meine Frage ansehen, habe ich gesagt, ich suche nach einer Möglichkeit, Dateien in Stapeln zu löschen. – TaylorN
_Ich habe ein einfaches Skript geschrieben, das das tut_ Vielleicht solltest du das einbeziehen, was du bisher versucht hast. Gerade jetzt liest sich das wie ein Gimmie die Codez-Frage. In den meisten Fällen sind wir hier, um den bestehenden Code zu reparieren oder zu verbessern. Selbst wenn Sie es in "Chargen" getan hätten, würden Sie es immer noch einzeln tun, es sei denn, Sie hätten Jobs oder etwas verwendet. Suchen Sie nach Fortschrittsanzeige?Was ist der Schaden, wenn man es laufen lässt und sein Ding macht? Wenn es oft genug gemacht wird, wird nur der erste Durchgang lutschen. Ich habe vor kurzem eine Aufgabe, dies zu tun, aber der erste Lauf entfernt 5 Millionen Dateien dauerte Stunden. Läuft jetzt gut. – Matt