代码之家  ›  专栏  ›  技术社区  ›  hazjack

使用powershell从大文件夹中删除旧文件

  •  0
  • hazjack  · 技术社区  · 6 年前

    我有一个很大的文件夹(包含几个级别的子文件夹,总共有数百万个文件)。我只想删除超过x天(如10天)的文件。

    我下面的脚本对一个包含数千个文件的文件夹很好,但对那个大文件夹不起作用。有什么优化的办法吗?谢谢!

    $tmpList = Get-ChildItem -Path $sourceFolder -Recurse
    $fileObjects = $tmpList `
            | Where-Object { !$_.PSIsContainer -and ($_.LastWriteTime -le $maxDateToProcess) } `
            | Sort-Object -Property "LastWriteTime" -Descending
    $allFiles = $fileObjects | Select -ExpandProperty "FullName"
    Remove-Item -Path $allFiles
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Ranadip Dutta    6 年前

    键入以下命令以删除过去30天未修改的文件,然后按Enter键:

    Get-ChildItem –Path "C:\path\to\folder" -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-30))} | Remove-Item