This commit is contained in:
tamakyi
2026-09-25 13:16:54 +08:00
commit ed4e47e305
32 changed files with 9214 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
//go:build windows
package main
import (
"path/filepath"
"golang.org/x/sys/windows"
)
// 返回指定路径所在磁盘的剩余和总容量(字节)
func diskSpace(path string) (free, total uint64, err error) {
// GetDiskFreeSpaceEx 需要绝对路径
abs, err := filepath.Abs(path)
if err != nil {
return 0, 0, err
}
p, err := windows.UTF16PtrFromString(abs)
if err != nil {
return 0, 0, err
}
var freeToCaller, totalBytes, totalFree uint64
if err = windows.GetDiskFreeSpaceEx(p, &freeToCaller, &totalBytes, &totalFree); err != nil {
return 0, 0, err
}
return freeToCaller, totalBytes, nil
}