【问题标题】:Sort folders according last modified date of subfolders根据子文件夹的最后修改日期对文件夹进行排序
【发布时间】:2018-05-20 16:41:29
【问题描述】:

我有一个 Windows 网络共享,其中包含 1000 多个文件夹,这些文件夹也有子文件夹。

我想删除几年没有修改过的文件夹。

当我在“修改日期”后在文件资源管理器中排序时,它会正确排序父文件夹。

但不考虑子文件夹的变化。

考虑到文件夹或子文件夹的最后写入时间,我尝试创建一个 PowerShell 脚本,对网络共享上的所有文件夹进行排序。

不幸的是,在当前状态下,它一遍又一遍地仅列出最新修改的文​​件夹。

例子:

Get-ChildItem c:\tmp -Directory | ForEach-Object { Get-ChildItem -Directory -Recurse | Sort {$_.LastWriteTime} -Descending | Select {$_.FullName}, {$_.LastWriteTime} -First 1 }

有人可以帮忙吗?

【问题讨论】:

    标签: powershell filesystems


    【解决方案1】:

    我认为您想要“任何子文件/文件夹的最新 LastWriteTime”,即

    Get-ChildItem -Recurse -Force | 
        Sort-Object -Property LastWriteTime |
        Select-Object -Last 1 -ExpandProperty LastWriteTime
    

    然后你可以把整个事情写成这样:

    Get-ChildItem -Path 'c:\test' -Directory | 
        Select-Object -Property Name, @{Label='LastWriteInside'; Expression={ 
            ($_ | Get-ChildItem -Recurse -Force|
             Sort-object -property LastWriteTime|
             Select-Object -expandproperty lastwritetime -Last 1)
            }} |
        Sort-Object -Property LastWriteInside
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      相关资源
      最近更新 更多