Maison  >  Article  >  développement back-end  >  Comment puis-je récupérer une liste de tous les lecteurs sur un système Windows à l'aide de Go ?

Comment puis-je récupérer une liste de tous les lecteurs sur un système Windows à l'aide de Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 03:16:03948parcourir

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

Récupération d'une liste de tous les lecteurs sous Windows à l'aide de Go

La liste des lecteurs est essentielle lors de l'accès aux données de plusieurs périphériques de stockage. Sous Windows, la fonction GetLogicalDrives permet d'obtenir un bitmap représentant les lecteurs disponibles.

Pour convertir le bitmap en une liste de lettres de lecteur, suivez ces étapes :

  1. Appelez la fonction GetLogicalDrives et récupérez le bitmap :
<code class="go">import "syscall"

driveBitmap := uint32(syscall.GetLogicalDrives())</code>
  1. Convertissez le bitmap en une liste de lettres de lecteur à l'aide de la fonction bitsToDrives :
<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. Parcourez la liste des lecteurs et effectuez l'opération souhaitée, telle que la recherche d'un type de fichier spécifique :
<code class="go">drives := bitsToDrives(driveBitmap)

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

En utilisant cette approche, votre programme peut automatiquement parcourir tous lecteurs sur un système Windows sans demander à l'utilisateur de spécifier manuellement les lettres de lecteur.

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!

Déclaration:
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