Как узнать размер hiberfil.sys? - PullRequest
1 голос
/ 09 января 2020

Любопытно, что хотя файл гибернации находится в каталоге root, он не может быть обнаружен 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 , Но как узнать размер, не меняя размер гибернации? Спасибо

1 Ответ

2 голосов
/ 09 января 2020

Вы можете сделать следующее:

(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
...