gpt4 book ai didi

c# - 用于删除旧文件的 Powershell 脚本

转载 作者:太空狗 更新时间:2023-10-29 22:21:10 24 4
gpt4 key购买 nike

以下脚本将删除命名目录中超过 14 天的文件,并将删除的路径和文件写入 .txt(在另一个论坛上找到此脚本..credit to谢伊):

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 个问题:

  1. 什么是-lt,什么是-le,什么是-gt?我什么时候用每一个
  2. 上面的脚本只删除文件...我如何删除文件夹?
  3. 上面的脚本基于 LastWriteTime .. CreatedDateLastAccessed 时间呢?

最佳答案

好的,我们开始:

  1. -lt、-le 和-gt 是比较运算符。 lt 表示小于,le 表示小于或等于,gt 表示大于。

  2. 如果您无法控制其中的内容,则删除文件夹会很危险。您可能会遇到问题,请注意数据丢失。您可以使用相同的 Remove-Item cmdlet 删除文件夹,只需使用它的选项即可。查看这篇文章,它对如何实现它有很好的说明: http://searchwindowsserver.techtarget.com/generic/0,295582,sid68_gci1275887,00.html

  3. 通常,对于已放置一段时间的文件,LastWriteTime、CreatedDate 和 LastAccessTime 将相同。在只读文件(如 DLL)中,LastAccessTime 可能比其他两个更新。在读/写文件(如 outlook 的 pst 文件)中,WriteTime 和 AccessTime 可能相同。基本上,这完全取决于您。它们的工作方式与 LastWriteTime 相同。考虑您要删除的文件的性质,然后继续!

关于c# - 用于删除旧文件的 Powershell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/827738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com