我的需求是在公用文件夾中刪除所有超過14天的文件。我已經拼湊出了一個PowerShell腳本,可以根據需要隨心所欲地執行操作。 。 。唯一的問題是,如果用戶將文件移動到文件夾中 - 而不是複製它 - 我的腳本將刪除該文件,如果它最後一次訪問超過14天前,即使它在同一天移入公用文件夾。剪切和粘貼也會發生同樣的情況。所以這是一個非常嚴重的問題。我可以讓PowerShell腳本刪除移動和剪切的文件嗎?
這裏是我的腳本:
# Delete all files older than "file_age" days, at "path".
$path = "C:\Users\emcguire\Desktop\Test"
$file_age = "-14"
$current_date = Get-Date
$date_to_delete = $current_date.AddDays($file_age)
Get-ChildItem $path -Recurse | Where-Object { $_.LastAccessTime -lt $date_to_delete } | Remove-Item
我是很新的PowerShell的,所以我可能失去了一些東西很明顯。有沒有簡單的方法來檢查文件被移入文件夾,但沒有更改訪問時間戳?有沒有更好的方法來解決這個問題?
我感謝任何幫助!
我不認爲你可以在你的腳本來完成這事。這聽起來像是按照設計工作。您所依賴的日期在某些情況下沒有更新,因此您需要限制這些情況或使用不同的標準。 – briantist