Java ディレクトリを常に除外して、最新の 10 個のディレクトリを除くすべてを削除しようとしています。残念ながら、「java」ディレクトリの内容も最後の 10 個を除いてすべて削除されています。
次のリンクからソリューションを変更して、状況が適切に機能するようにしようとしています: x 個のファイルを保持し、その他すべてを削除する - パート 2
ディレクトリ構造は次のとおりです。
dev_app_backup\java
dev_app_backup\2012-05-09_01-00-05_commnXsl (contains Xsl files)
dev_app_backup\2012-05-09_01-00-05_published (contains zip files)
dev_app_backup\various-dates-time_commonXsl
dev_app_backup\various-dates-time_published
私の計画は、2 つ目のスクリプトを実行して Java サブディレクトリを一掃することです。
#----- define folder where files are located ----#
$TargetFolder = "\\test\TestShare\dev_app_backup\*"
#----- number of directories to keep ----#
$keep = 10
#----- get zip files based on lastwrite filter ---#
$files = Get-Childitem $TargetFolder -recurse -exclude java
if ($files.Count -gt $keep)
{
$files | Sort-Object -property $_.LastWriteTime | Select-Object -First ($files.Count - $keep) | Remove-Item -Force
}