这是我目前的代码,但遗憾的是,它删除了排除文件夹的内容。我想保持文件夹的内容是在一个排除文件夹。
我已经尝试了几天,但无法找到解决方案。也许这是PowerShell的限制?
$path = "C:\Users\bob\Desktop\testfolder"
$exclude = @('FOLDERNAME', 'filename.txt')
$lastWrite = (Get-Date).AddDays(-30)
Get-ChildItem -Path $path -Recurse -Exclude $exclude | Where-Object {$_.LastWriteTime -le $lastWrite} | Remove-Item
方法2(不起作用):
$results = Get-ChildItem -Path $path -Recurse | Where-Object {$_.LastWriteTime -le $lastWrite}
$path = "C:\Users\louisp\Desktop\testfolder"
$exclude = @('oldkeep', 'oldkeep2', 'important')
$lastWrite = (Get-Date).AddDays(-30)
foreach ($item in $results) {
$noExeption = $true
foreach($exeption in $exclude){
if($item.name -eq $exeption){
$noExeption = $false
break
}
}
if($noExeption) {
remove-item $item
}
}
1条答案
按热度按时间vhmi4jdf1#
我建议遵循第二条变通方案: