123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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
- }
|