Maison > développement back-end > Golang > Comment répertorier tous les lecteurs disponibles dans Windows à l'aide de Go ?

Comment répertorier tous les lecteurs disponibles dans Windows à l'aide de Go ?

Mary-Kate Olsen
Libérer: 2024-10-29 21:15:30
original
410 Les gens l'ont consulté

How do I list all available drives in Windows using Go?

Comment répertorier tous les lecteurs sous Windows à l'aide de Go

Les programmes nécessitent souvent la possibilité d'interagir avec différents lecteurs d'un système, comme la recherche pour un type de fichier particulier. Bien qu'il soit possible de spécifier la lettre du lecteur manuellement, il est plus pratique et efficace de répertorier automatiquement tous les lecteurs. Dans Go, cela peut être réalisé en tirant parti de la fonction GetLogicalDrives.

Obtention de la liste des lecteurs

La fonction GetLogicalDrives renvoie une carte binaire représentant tous les lecteurs disponibles. Chaque bit correspond à une lettre de lecteur.

<code class="go">package main

import (
    "fmt"
    "syscall"
)

func main() {

    kernel32, _ := syscall.LoadLibrary("kernel32.dll")
    getLogicalDrivesHandle, _ := syscall.GetProcAddress(kernel32, "GetLogicalDrives")

    var drives []string

    if ret, _, callErr := syscall.Syscall(uintptr(getLogicalDrivesHandle), 0, 0, 0, 0); callErr != 0 {
        // handle error
    } else {
        drives = bitsToDrives(uint32(ret))
    }

    fmt.Printf("%v", drives)

}

func bitsToDrives(bitMap uint32) (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
}</code>
Copier après la connexion

La fonction bitsToDrives() convertit le bitmap en un tableau de chaînes de lettres de lecteur.

Itération à travers les lecteurs

Une fois la liste des lecteurs obtenue, vous pouvez les parcourir pour effectuer toutes les actions souhaitées, comme la recherche de fichiers.

En suivant ces étapes à l'aide de Go, vous pouvez obtenir efficacement un liste de tous les lecteurs sous Windows et effectuez des opérations sur eux si nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal