如何获取具有特定扩展名的所有文件的路径

我尝试使用该filepath.Wark功能表现得像一个问题。


var paths []string

err := os.Chdir("C:\\")

if err != nil {

    return err

}

err = filepath.Walk(".", func(path string, info os.FileInfo, err error) error {

    if err != nil {

        return err

    }

    if !info.IsDir() {

        matched, err := filepath.Match(extension /*"*.reg"*/, info.Name())

        if err != nil {

            return err

        }

        if matched {

            paths = append(paths, path)

        }

    }

    return nil

})

if err != nil {

    return err

}

以这种方式找到了 41 个 reg 文件,但使用 Everything 程序,找到了 103 个 reg 文件。


我想要 103 个结果。首先,我检查了 reg 文件不仅存在于 Program Files 中,而且存在于 Users 文件夹中,但在 go 中没有找到。


我运行了管理员权限。


拉莫斯之舞
浏览 113回答 1
1回答

繁星coding

我建议使用filepath.Ext来查找文件的扩展名,将其小写并使用.reg. 对于扩展来说,这将是一个更好的方法。另一个原因可能是您可能无权浏览用户目录中其他用户的目录。尝试以管理员身份运行程序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go