一尘不染

如何使用golang获取Windows上所有驱动器的清单?

go

我希望我的程序可以遍历Windows系统上的所有驱动器并搜索特定的文件类型。现在,我可以运行该程序并向其传递驱动器号,但是我希望它在所有驱动器上自动搜索。目前,我需要执行以下操作:

C:\> program.exe C:
C:\> program.exe D:
C:\> program.exe E:

我希望程序获取所有驱动器的列表并遍历所有驱动器,而无需用户指定驱动器号。使用Go可以吗?

类似于此问题,列出所有物理驱动器(Windows),但使用Go而不是C。


阅读 540

收藏
2020-07-02

共1个答案

一尘不染

简便的方法是尝试打开Volker提到的“驱动器”文件夹来编写自己的功能。

import "os"

func getdrives() (r []string){
    for _, drive := range "ABCDEFGHIJKLMNOPQRSTUVWXYZ"{
        f, err := os.Open(string(drive)+":\\")
        if err == nil {
            r = append(r, string(drive))
            f.Close()
        }
    }
    return
}
2020-07-02