使用通配符删除文件

问题描述 投票:2回答:1

我试图删除像shell脚本这样的通配符的文件:

c:\del 123_*

我的审判失败了。

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

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

go
1个回答
12
投票

正如人们所提到的,通配符是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)
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.