"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं गोलांग का उपयोग करके विंडोज़ में उपलब्ध ड्राइव्स की सूची कुशलतापूर्वक कैसे प्राप्त कर सकता हूँ?

मैं गोलांग का उपयोग करके विंडोज़ में उपलब्ध ड्राइव्स की सूची कुशलतापूर्वक कैसे प्राप्त कर सकता हूँ?

2024-11-08 को प्रकाशित
ब्राउज़ करें:151

How Can I Efficiently Get a List of Available Drives in Windows Using Golang?

गोलांग का उपयोग करके विंडोज़ पर ड्राइव की एक सूची प्राप्त करना

किसी विशिष्ट के लिए विंडोज़ सिस्टम पर सभी ड्राइव्स में खोज करने का अधिक कुशल तरीका खोजना फ़ाइल प्रकार, गो प्रोग्रामर आश्चर्यचकित हो सकते हैं कि क्या उपयोगकर्ता द्वारा निर्दिष्ट इनपुट के बिना स्वचालित रूप से उपलब्ध ड्राइव की सूची प्राप्त करना संभव है।

GetLogicalDrives और Bit Manipulation का उपयोग करके समाधान:

To विंडोज़ सिस्टम पर ड्राइव को सूचीबद्ध करने के बाद, कोई GetLogicalDrives फ़ंक्शन का लाभ उठा सकता है। यह फ़ंक्शन 'ए' से 'जेड' तक ड्राइव अक्षर की उपलब्धता का प्रतिनिधित्व करने वाले प्रत्येक बिट के साथ एक बिट मास्क देता है।

यहां एक गोलांग कोड स्निपेट है जो प्रक्रिया को प्रदर्शित करता है:

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
}

इस कोड में, बिट मास्क प्राप्त करने के लिए GetLogicalDrives फ़ंक्शन को कॉल किया जाता है। फिर उपलब्ध ड्राइव अक्षरों को निकालने और उन्हें ड्राइव स्लाइस में संग्रहीत करने के लिए बिट मैनिपुलेशन तकनीकों का उपयोग करके बिटमास्क को संसाधित किया जाता है। इस स्लाइस के माध्यम से पुनरावृत्ति करके, आप सिस्टम पर सभी उपलब्ध ड्राइव को आसानी से एक्सेस और प्रोसेस कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3