计算文件夹的子文件夹

时间:2015-08-10 16:55:10

标签: powershell directory temporary

我正在尝试删除创建PowerShell脚本的ASP .NET临时文件。到目前为止,我设法找到超过60天的C:\Windows\Microsoft .NET\Temporary .NET Files个文件(不是文件夹)并删除它们。但我现在的问题是在C:\Windows\Microsoft .NET\Temporary .NET Files下有一个名为root的文件夹。此文件夹只有一个子文件夹。我想要的是

  • 计算根文件夹下存在多少个子文件夹。
  • 如果只有一个文件夹,请不要做任何事情。
  • 如果有多个,请保留最新文件夹并删除其他文件夹。

如何使用PowerShell完成此操作?

1 个答案:

答案 0 :(得分:0)

递归到该根文件夹,过滤目录的结果(PSIsContainer属性为$true的项目),并计算结果:

Get-ChildItem 'C:\path\to\root' -Recurse |
  ? { $_.PSIsContainer } |
  Measure-Object |
  select -Expand Count

如果你有PowerShell v3或更新版本,你可以使用参数Get-ChildItem调用-Directory来简化它:

Get-ChildItem 'C:\path\to\root' -Recurse -Directory |
  Measure-Object |
  select -Expand Count