以下脚本将删除指定目录中超过14天的文件,并写入.txt路径并删除文件(在另一个论坛上找到此脚本...信用不良):
dir c:\tmp -recurse | where {!$_.PsIsContainer -AND $_.lastWriteTime -lt (Get-Date).AddDays(-14) } | select LastWriteTime,@{n="Path";e={convert-path $_.PSPath}} | tee c:\oldFiles.txt | Remove-Item -force -whatif
我有3个问题:
-lt什么-le,什么是-gt什么?我什么时候才能使用每一个LastWriteTime...... 时间CreatedDate或LastAccessed时间?小智 9
好的,我们走了:
-lt,-le和-gt是比较运算符.lt表示小于,le表示小于或等于,gt表示大于.
如果您无法控制其中的内容,则删除文件夹会变得很危险.您可能遇到问题,请注意数据丢失.您可以使用相同的Remove-Item cmdlet删除文件夹,只需使用其选项即可.查看这篇文章,它有关于如何实现它的很好的说明:http: //searchwindowsserver.techtarget.com/generic/0,295582,sid68_gci1275887,00.html
通常,对于已经在那里停留一段时间的文件,LastWriteTime和CreatedDate以及LastAccessTime将是相同的.在只读文件中,如DLL,LastAccessTime可能比其他两个更新.在读/写文件(如outlook的pst文件)中,WriteTime和AccessTime可能相同.基本上,这完全取决于你.它们的工作方式与LastWriteTime相同.考虑要删除的文件的性质,然后继续!
| 归档时间: | 
 | 
| 查看次数: | 9473 次 | 
| 最近记录: |