磁盘空间占用分析的免费工具有很多,比如wiztree等
问题:wiztree明明看到有个文件夹占用空间很大,可在那个文件夹上右键查看属性,显示的大小远小于wiztree看到的情况
分析:在 Windows 中,没有直接的命令可以在右键单击文件夹属性时完全隐藏文件大小,当您查看文件夹属性时,Windows 会自动统计文件夹及其子文件夹中的所有文件大小,包括隐藏文件。然而,您可以尝试通过设置文件夹的安全权限来限制其他用户查看这些文件(大小),从而在文件夹属性上(比如文件夹大小、子文件夹/文件数量)做了手脚,但底层的空间占用并不会受此影响。
以下是如何使用 PowerShell 为文件夹设置安全权限的示例
在执行powershell前,右键属性能看到文件数、大小,执行后,大小为0、文件数为0
代码语言:javascript复制
$folderPath = "C:testtesttesttest"
$acl = Get-Acl -Path $folderPath
$denyRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Everyone", "ReadAndExecute", "ContainerInherit, ObjectInherit", "None", "Deny")
$acl.AddAccessRule($denyRule)
Set-Acl -Path $folderPath -AclObject $acl
在执行powershell前,右键属性能看到大小,执行后,大小为0
估计有些子文件夹设置了权限,那些不想让你看到的大文件在特定权限的目录里,因此统计不到大小,导致上层目录统计到的大小跟wiztree看到的底层大小有出入
可以按照这个来稳定制造这种现场
c:testtesttest下面有20个文件、1个子文件夹test,子文件夹test里有6个隐藏文件
当我对子文件夹C:testtesttesttest设定特定权限后,再去看C:testtesttest的属性,统计情况就发生变化了