登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-10 21:03:34 267浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《如何获取具有特定扩展名的所有文件的路径》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我尝试使用 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中找不到。

我运行了管理员权限。


解决方案


我建议使用 filepath.Ext 查找文件的扩展名,将其小写并测试与 .reg 的相等性。对于扩展来说,这将是一个更好的方法。

另一个原因可能是您可能没有权限浏览用户目录中其他用户的目录。尝试以管理员身份运行该程序。

理论要掌握,实操不能落!以上关于《如何获取具有特定扩展名的所有文件的路径》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>