package main import ( "alistControl/alist" "fmt" "os" ) func main() { client := alistsdk.NewClient("https://alist-home.s1f.ren", "kyou", "WFBDGnBfjjkVowen2", false, 200) user, err := client.Login() if err != nil { panic(err) } fmt.Println(user) path := "/游戏/我的世界/常青藤Mods" list, err := client.List(path, "", 1, 100, false) if err != nil { fmt.Println(err) return } // 获取当前文件夹下 modes 目录的的文件列表,判断是否存在,不存在则上传 currentDir, err := os.Getwd() if err != nil { fmt.Println("无法获取当前工作目录:", err) return } // 构建mods文件夹的路径 modsPath := currentDir + "/mods" // 读取mods文件夹中的所有文件和子目录 files, err := os.ReadDir(modsPath) if err != nil { fmt.Println("无法读取mods文件夹:", err) return } // 打印所有文件和子目录的名称 for _, file := range files { hasFile := false fileInfo, _ := file.Info() fileSize := fileInfo.Size() for _, alistFile := range list { if file.Name() == alistFile.Name && fileSize == alistFile.Size { fmt.Println("文件已存在") hasFile = true } } if !hasFile { fmt.Printf("%s文件不存在,开始上传\n", file.Name()) // 获取mods文件夹中的文件路径 filePath := modsPath + "/" + file.Name() client.PutUpload(filePath, path+"/"+file.Name(), false) } } }