|
@@ -11,6 +11,38 @@ import (
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
+// 检查文件是否存在,如果存在则删除它,不返回错误
|
|
|
+func DeleteFileIfExists(filePath string) {
|
|
|
+ // 使用Stat函数检查文件是否存在
|
|
|
+ fileInfo, err := os.Stat(filePath)
|
|
|
+ if err != nil {
|
|
|
+ // 如果Stat返回错误,且错误是因为文件不存在,则忽略
|
|
|
+ if os.IsNotExist(err) {
|
|
|
+ fmt.Println("文件不存在:", filePath)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 如果错误不是文件不存在,则记录或处理错误
|
|
|
+ fmt.Println("获取文件信息时出错:", err)
|
|
|
+ // 这里可以根据需要添加更多的错误处理逻辑,但按照要求我们不返回错误
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果文件存在,则检查是否为文件(虽然大多数情况下会是文件,但最好还是检查一下)
|
|
|
+ if !fileInfo.IsDir() {
|
|
|
+ // 调用Remove函数删除文件
|
|
|
+ err := os.Remove(filePath)
|
|
|
+ if err != nil {
|
|
|
+ // 删除文件时出错,记录或处理错误
|
|
|
+ fmt.Println("删除文件时出错:", err)
|
|
|
+ // 这里可以根据需要添加更多的错误处理逻辑,但按照要求我们不返回错误
|
|
|
+ } else {
|
|
|
+ fmt.Println("文件已删除:", filePath)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ fmt.Println(filePath, "是一个目录,不是文件")
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 将指定的目录和子目录压缩成 ZIP 文件
|
|
|
func ZipDir(src string, dest string, dirs []string) error {
|
|
|
// 创建 zip 命令参数
|