如何找出 hiberfil.sys 大小?
How to find out hiberfil.sys size?
奇怪的是,虽然休眠文件位于根目录中,但PowerShell 无法检测到它。显然这是一种虚拟文件。
$Path = "$Env:SystemDrive\hiberfil.sys"
# Result $False
Test-Path -Path $Path
# Result 0
(Get-ChildItem -Path $Path -Force).Length
那么,我怎样才能知道休眠文件的大小呢?
当然,调整休眠大小时可以识别大小powercfg.exe /hibernate /size 50
。但是如何在不改变休眠大小的情况下知道大小呢?谢谢
您可以执行以下操作:
(Get-ChildItem -Path $env:SystemDrive\ -Filter hiberfil.sys -Force).Length
不幸的是,我无法解释为什么 Get-ChildItem -Path $Path -Force
不起作用。这种特殊的语法模式适用于该目录中不是 .sys
文件的其他文件。我不知道这个限制是设计使然还是错误。
其他查询命令可以毫无问题地找到该文件:
# Finds the File but doesn't return a FileInfo object
cmd /c "dir $env:systemdrive\hiberfil.sys /A:S"
# A less elegant command that retrieves the required data
[System.IO.FileInfo]::new([System.IO.Directory]::GetFiles(($env:systemdrive+'\'),'hiberfil.sys')).Length
奇怪的是,虽然休眠文件位于根目录中,但PowerShell 无法检测到它。显然这是一种虚拟文件。
$Path = "$Env:SystemDrive\hiberfil.sys"
# Result $False
Test-Path -Path $Path
# Result 0
(Get-ChildItem -Path $Path -Force).Length
那么,我怎样才能知道休眠文件的大小呢?
当然,调整休眠大小时可以识别大小powercfg.exe /hibernate /size 50
。但是如何在不改变休眠大小的情况下知道大小呢?谢谢
您可以执行以下操作:
(Get-ChildItem -Path $env:SystemDrive\ -Filter hiberfil.sys -Force).Length
不幸的是,我无法解释为什么 Get-ChildItem -Path $Path -Force
不起作用。这种特殊的语法模式适用于该目录中不是 .sys
文件的其他文件。我不知道这个限制是设计使然还是错误。
其他查询命令可以毫无问题地找到该文件:
# Finds the File but doesn't return a FileInfo object
cmd /c "dir $env:systemdrive\hiberfil.sys /A:S"
# A less elegant command that retrieves the required data
[System.IO.FileInfo]::new([System.IO.Directory]::GetFiles(($env:systemdrive+'\'),'hiberfil.sys')).Length