microsoft / p4vfs

Microsoft Virtual File System for Perforce
MIT License
272 stars 13 forks source link

Query Size on disk #43

Open jtomori opened 2 months ago

jtomori commented 2 months ago

Hello, first, thank you for sharing and maintaining p4vfs, it's very cool.

I'd like to ask if there's a way to programmatically query the Size on disk that I can see in the folder properties window. I'd like to know how much space a given p4vfs-managed directory takes on a disk.

I've tried various approaches, but without success. Mentioning some below:

Best, Juraj

jessk-msft commented 2 months ago

Hi Juraj, That's a great question. A few suggestions:

  1. With Windows 11, you can use C:\Windows\System32\diskusage.exe. It will show the correct disk usage of NTFS $DATA streams similar to what Windows Explorer is showing. Graphical tools like WinDirStat is similar. It does require elevated permission though.

  2. The P4VFS source code contains three C++ functions which you may find interesting for calculating this info per-file. FileInfo::FileSize, FileInfo::FileUncompressedSize, FileInfo::FileDiskSize. They are used extensively in the P4VFS unit testing.

Regards -Jess