go - 删除带有通配符的文件

原文 标签 go

我正在尝试删除带有通配符的文件,例如 shell 脚本,例如:

c:\del 123_*

我的如下试验失败了。

os.RemoveAll("/foo/123_*")
os.Remove("/foo/123_*")

我想我需要使用一些库来使用通配符。
删除带有通配符的文件的好做法是什么?

最佳答案

正如人们所提到的,通配符是 shell(例如 Windows cmd.exe)的一个特性,而不是操作系统,通常编程语言不提供等效的 del xyz* .您应该使用 Glob功能来查找要删除的文件。

files, err := filepath.Glob("/foo/123_*")
if err != nil {
    panic(err)
}
for _, f := range files {
    if err := os.Remove(f); err != nil {
        panic(err)
    }
}

关于go - 删除带有通配符的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48072236/

相关文章:

mysql - 在golang中从mysql in time.time中检索datetime

go - 我的net/http post方法提供100%的cpu使用率

testing - Go测试覆盖范围中未覆盖且未跟踪的含义是什么?

go - 如何在HTTP请求中获取数组

google-app-engine - Go应用引擎dev_appserver.py不支持运行时go112

regex - 使用 Go Validator v2 转义正则表达式

go - 为什么Go在项目子目录中找不到导入包?

pdf - 在Golang中从HTML创建pdf

go - Golang在运行main.go时不断崩溃,异常为Exception 0xc0000005

go - Google oauth2端点不返回用户个人资料信息(名称等)