我正在尝试使用像shell脚本这样的通配符删除文件:
c:\del 123_*
我的审判失败了。
os.RemoveAll("/foo/123_*")
os.Remove("/foo/123_*")
我想我需要使用一些库来使用通配符 删除带通配符的文件有什么好的做法?
答案 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)
}
}