Die Beschaffung von Informationen über die physische Gerät von einem bestimmten Dateipfad

StackOverflow https://stackoverflow.com/questions/115874

  •  02-07-2019
  •  | 
  •  

Frage

Angenommen, Sie einen vollständigen Pfad auf dem System zu einer zugänglichen Datei oder einen Ordner haben. Wie kann ich eine Art eindeutige Kennung für das physikalische Gerät erhalten, dass die Datei (oder Ordner) befindet sich tatsächlich auf?

Mein erster Versuch war System.IO.DriveInfo zu verwenden, die auf mit einem Laufwerksbuchstaben abhängt. Aber UNC-Pfade und mehr Netzwerke mit dem gleichen physischen Gerät auf einem Server zugeordnete Laufwerke fügen Sie einige Komplikationen. Zum Beispiel diese drei Wege alle auf dem gleichen Ordner auf dem gleichen Gerät.

\\myserver\users\brian\public\music\
s:\users\brian\public\music\          (here s:\ is mapped to \\myserver\)
u:\public\users\music\                (here u:\ is mapped to \\myserver\users\brian\)

Letztlich ist mein Ziel ist es, diese mehrere Pfade und berichten über die Menge des verwendeten und freien Speicherplatz auf jedem Gerät zu nehmen. Ich möchte diese drei Wege zu einem einzigen Punkt in dem Bericht kombinieren und nicht 3 separate Elemente.

Gibt es einen Windows-API, die diese Informationen jeden beliebigen vollständigen Pfad gegeben finden kann helfen?

War es hilfreich?

Lösung

Dieser Sieg API-Aufruf sollten Sie bekommen, was Sie in Bezug auf Speicherplatz benötigen

  GetDiskFreeSpaceEx

http://msdn.microsoft.com/ en-us / library / aa364937 (VS.85) aspx

Auch, um festzustellen, ob die drei Zuordnungen alle aus demselben physischen Datenträger sind, führen Sie einen Anruf

GetVolumeInformation

und vergleichen Sie die zurückgegebenen Volumen Seriennummern

http://msdn.microsoft.com/ en-us / library / aa364993 (VS.85) aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top