我正在尝试使用类似 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/