我想写一个powershell脚本来保存最新的2个文件并删除其他旧文件。 我还想跳过名为" DIFF"的某个文件夹。我正在尝试编写具有许多条件的脚本来保存文件夹,cmd和ps1文件。
控制台中没有错误,但文件未正确删除。我想保留最新的2,它只保留最新的1个文件。
Get-ChildItem $directorypath -Recurse |where {$_.extension -ne ".ps1" -and $_.extension -ne ".cmd"}| Where-Object{!($_.PSIsContainer) } | Where {$_.FullName -notmatch 'DIFF'}| sort $_.LastWriteTime -desc|select -Skip 2 |Remove-Item -Force
答案 0 :(得分:0)
我应该使用Select-Object -Skip 2。
Get-ChildItem $directorypath -Recurse |where {$_.extension -ne ".ps1" -and $_.extension -ne ".cmd"}| Where-Object{!($_.PSIsContainer) } | Where {$_.FullName -notmatch 'DIFF'}| sort CreationTime -desc|Select-Object -Skip 2 |Remove-Item -Force