【问题标题】:List hidden sub-directories and sizes列出隐藏的子目录和大小
【发布时间】:2019-08-12 23:31:51
【问题描述】:

我需要使用 PowerShell 获取子目录及其大小的列表。

以下 PowerShell 代码可以满足我的要求,但它不适用于隐藏目录。

Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }

我尝试在 Windows 中显示隐藏目录,但这不起作用。现在,我只是确保没有隐藏每个子目录,但这并不理想。有没有像一个简单的参数可以强制这段代码获取隐藏文件和文件夹的信息?

我希望它能够与 PowerShell 2 一起使用。

【问题讨论】:

  • -Force 完成了这项工作。我是瞎子。

标签: powershell powershell-2.0


【解决方案1】:

Get-ChildItem-Force 参数将使其包含隐藏文件和目录。

Get-ChildItem -Force | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse -Force | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }

【讨论】:

  • 使用 -Force,我得到一些带有“拒绝访问”的文件夹。 Powershell 可以绕过这个来获取大小还是我实际上需要授予权限?
  • 尝试以管理员身份运行 PowerShell,看看是否能解决您的拒绝访问问题。如果您仍然得到它们,那么除了修改权限之外没有其他选择,但此时要非常小心。
  • 也可以使用Get-ChildItem -Attributes Hidden, !Hidden或简写为Get-ChildItem -At H,!H
  • 即使是缩写的-At H,!H 也比-Force 长,所以我真的不明白使用它的意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 2012-10-28
  • 1970-01-01
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多