package utils import ( "fmt" "os" "path/filepath" "strings" ) // 切分 :冒号前面和后面的字符串 func SplitColon(str string) (string, string) { index := strings.Index(str, ":") var front, rear string if index != -1 { front = str[:index] rear = str[index+1:] } else { fmt.Println("Invalid input format") } return front, rear } func IsFileOrFolder(path string) (string, error) { // 获取路径的信息 info, err := os.Stat(path) if err != nil { fmt.Println("Error getting file info:", err) return "", fmt.Errorf("判断是否是文件夹失败 (Error getting file info)") } // 判断是文件还是文件夹 if info.IsDir() { return "folder", nil } else { return "file", nil } } // FindDirWithSubstring 查找指定目录中包含特定子字符串的文件夹 func FindDirWithSubstring(path string, substring string) (string, error) { var foundPath string // Walk through the directory err := filepath.Walk(path, func(p string, info os.FileInfo, err error) error { if err != nil { return err } // Check if the directory name contains the substring if info.IsDir() && strings.Contains(filepath.Base(p), substring) { foundPath = p return fmt.Errorf("found") } return nil }) if err != nil && err.Error() != "found" { return "", err } return foundPath, nil }