Heim >Backend-Entwicklung >Golang >Wie kann ich mit Go eine Liste aller Laufwerke auf einem Windows-System abrufen?

Wie kann ich mit Go eine Liste aller Laufwerke auf einem Windows-System abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-11-03 03:16:03963Durchsuche

How can I retrieve a list of all drives on a Windows system using Go?

Eine Liste aller Laufwerke unter Windows mit Go abrufen

Das Auflisten von Laufwerken ist wichtig, wenn Sie auf Daten von mehreren Speichergeräten zugreifen. In Windows bietet die Funktion „GetLogicalDrives“ eine Möglichkeit, eine Bitmap zu erhalten, die die verfügbaren Laufwerke darstellt.

Um die Bitmap in eine Liste von Laufwerksbuchstaben zu konvertieren, führen Sie die folgenden Schritte aus:

  1. Rufen Sie die Funktion „GetLogicalDrives“ auf und rufen Sie die Bitmap ab:
<code class="go">import "syscall"

driveBitmap := uint32(syscall.GetLogicalDrives())</code>
  1. Konvertieren Sie die Bitmap mit der Funktion „bitsToDrives“ in eine Liste von Laufwerksbuchstaben:
<code class="go">func bitsToDrives(bitMap uint32) []string {
    var drives []string

    availableDrives := []string{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}

    for i := range availableDrives {
        if bitMap&1 == 1 {
            drives = append(drives, availableDrives[i])
        }
        bitMap >>= 1
    }

    return drives
}</code>
  1. Durchlaufen Sie die Liste der Laufwerke und führen Sie den gewünschten Vorgang aus, z. B. die Suche nach einem bestimmten Dateityp:
<code class="go">drives := bitsToDrives(driveBitmap)

for _, drive := range drives {
    // Perform operation on drive
}</code>

Mit diesem Ansatz kann Ihr Programm automatisch alle Laufwerke durchlaufen Laufwerke auf einem Windows-System, ohne dass der Benutzer Laufwerksbuchstaben manuell angeben muss.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Go eine Liste aller Laufwerke auf einem Windows-System abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn