go - 删除带通配符的文件

标签 go

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

相关文章:

go - 如何使用 Golang 获取 UTC 时间的时间戳?

intellij-idea - golang-idea-插件 : how to set project-specific GOPATH?

go - 如何将基础模板文件用于 golang html/模板?

sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?

go - 当值是 reflect.Ptr 时如何使用 reflect.FieldByName

Golang - 解码额外的 XML 属性

json - 解析 yaml 值的字节数组 - kubebuilder

go - 编写此代码的更好的惯用方式?

api - 原始.M数组字符串?以相同的结构响应http请求

go - Go 中的 ToString() 函数