我试图删除像shell脚本这样的通配符的文件:
c:\del 123_*
我的审判失败了。
os.RemoveAll("/foo/123_*")
os.Remove("/foo/123_*")
我想我需要使用一些库来使用通配符。 删除带通配符的文件有什么好的做法?
正如人们所提到的,通配符是shell的一个特性(例如Windows cmd.exe
),而不是OS,通常编程语言不提供与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)
}
}