返回

使用PowerShell按日期删除文件

电脑技巧

按日期轻松删除文件:使用 PowerShell 的分步指南

日常生活中,我们经常需要整理文件和磁盘空间。删除过期或不再需要的文件是保持系统井然有序和释放存储空间的关键。PowerShell 是一个功能强大的工具,可帮助我们根据日期轻松删除文件。

按创建日期删除文件

要删除 N 天前创建的文件,可以使用以下命令:

Get-ChildItem -Path <目录路径> | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-<天数>) }

例如,要删除 30 天前创建的所有文件:

Get-ChildItem -Path C:\Users\Public\Downloads | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-30) }

按修改日期删除文件

要删除在特定日期范围内修改的文件,可以使用以下命令:

Get-ChildItem -Path <目录路径> | Where-Object { $_.LastWriteTime -ge (Get-Date).AddDays(-<开始日期>) -and $_.LastWriteTime -le (Get-Date).AddDays(-<结束日期>) }

例如,要删除 2023 年 1 月 1 日到 2023 年 3 月 31 日之间修改的所有文件:

Get-ChildItem -Path C:\Users\Public\Downloads | Where-Object { $_.LastWriteTime -ge (Get-Date "2023-01-01").AddDays(-1) -and $_.LastWriteTime -le (Get-Date "2023-03-31").AddDays(1) }

按文件类型删除文件

要删除特定文件类型的文件,可以使用以下命令:

Get-ChildItem -Path <目录路径> -Filter *.<文件类型> | Remove-Item

例如,要删除所有 .txt 文件:

Get-ChildItem -Path C:\Users\Public\Documents -Filter *.txt | Remove-Item

代码示例

要同时删除多个目录中的文件,可以使用以下命令:

Get-ChildItem -Path <目录路径1>,<目录路径2>,<目录路径3> | Where-Object { $_.CreationTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Recurse

常见问题解答

  • 如何删除隐藏文件?
Get-ChildItem -Path <目录路径> -Hidden -Recurse | Remove-Item -Recurse
  • 如何删除只读文件?
Get-ChildItem -Path <目录路径> -ReadOnly -Recurse | Remove-Item -Recurse -Force
  • 如何删除系统文件?
Get-ChildItem -Path <目录路径> -System -Recurse | Remove-Item -Recurse -Force
  • 如何删除空目录?
Get-ChildItem -Path <目录路径> -Directory -Recurse | Where-Object { $_.GetFiles("*.*").Count -eq 0 } | Remove-Item -Recurse
  • 如何恢复已删除的文件?
Get-ChildItem -Path <目录路径> -Filter *.<文件类型> -Hidden | Restore-Item