使用通配符删除文件

时间:2018-01-03 06:25:59

标签: go

我正在尝试使用像shell脚本这样的通配符删除文件:

c:\del 123_*

我的审判失败了。

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

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

1 个答案:

答案 0 :(得分:12)

正如人们所提到的,通配符是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)
    }
}