0

当我在 PowerShell 中调用Get-ChildItem时,它只返回目录中存在的一些文件。这是驱动程序文件夹,所以我尝试使用-Force参数以防它们被隐藏,但没有运气。

不过这很有趣,因为它在我的 Windows 7 32 位上完美运行,但不是 64 位。有任何想法吗?

4

2 回答 2

4

我相信 PowerShell 向您展示了所有内容,但是您在 x86 PowerShell 提示符中查看的文件夹并不是您想的那样。您实际查看的目录位于 C:\Windows\SysWow64\Drivers 下,而不是 C:\Windows\System32\Drivers。这是由于在 64 位操作系统上运行的 32 位进程的 Windows 功能(Vista 和更高版本)称为虚拟化(特别是文件系统重定向器)。当您运行 64 位 PowerShell 提示符时未使用虚拟化,因此您会看到真正的 C:\Windows\System32\Drives 目录。

在 32 位 PowerShell 提示符下,您可以使用以下路径查看“真正的” C:\windows\system32\drivers 目录:

Get-ChildItem C:\Windows\SysNative\Drivers

于 2012-03-18T06:09:29.043 回答
2

我在寻找类似问题时遇到了这个问题。我想列出用户文件夹的使用情况,但遇到了文件夹所有权/权限的问题。即使我是本地管理员,我也需要明确授予自己访问权限。不理想。下面给出了准确的用法,尽管有权限。(当然,如果你想知道更详细的用法,你需要使用for循环什么的。)

Get-ChildItem "C:\Users" -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object Length -Sum

至于包含哪些文件,默认不显示隐藏文件和系统文件:https ://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem?view=powershell-6

  • Hidden参数:仅隐藏文件
  • System参数:仅系统文件
  • Force参数:包括隐藏文件和系统文件,以及常规文件

为了确认,我授予自己对其中一个用户目录的权限。我比较了 PowerShell 报告的大小(授予权限之前)和文件资源管理器中报告的大小(授予权限之后)。大小和数量是一样的。

于 2019-08-02T20:01:20.280 回答