Grundsätzlich möchte ich die Ausgabe von df -h
, die sowohl den freien Speicherplatz und die Gesamtgröße des Volumes enthält. Die Lösung muss unter Windows, Linux und Mac funktionieren und in Go geschrieben sein.Get Menge von freiem Speicherplatz mit Go
Ich habe durch die os
und syscall
Go Dokumentation gesucht und nichts gefunden. Unter Windows sind sogar Befehlszeilenprogramme entweder umständlich (dir C:\
) oder benötigen erhöhte Rechte (fsutil volume diskfree C:\
). Sicherlich gibt es eine Möglichkeit, dies zu tun, die ich noch nicht ...
UPDATE gefunden haben:
Per nemo Antwort und Einladung habe ich eine cross-platform Go package vorgesehen, das dies tut.
Alles, was ich habe, ist, dass Sie mit [cgo] (http://blog.golang.org/c-go-cgo) auf C setzen können: schreiben Sie freespace_windows.go und freespace_ {linux, bsd} .go , und verwenden Sie [GetDiskFreeSpace] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa364935 (v = V.85) .aspx) und [statvfs] (http://stackoverflow.com)/questions/3992171/how-do-i-programmatically-erhalten-die-freie-Speicherplatz-für-ein-Verzeichnis-in-Linux), um freien Speicherplatz zu erhalten. – twotwotwo