github.com/qjfoidnh/BaiduPCS-Go@v0.0.0-20231011165705-caa18a3765f3/internal/pcscommand/fixmd5.go (about) 1 package pcscommand 2 3 import ( 4 "fmt" 5 "github.com/qjfoidnh/BaiduPCS-Go/baidupcs" 6 ) 7 8 // RunFixMD5 执行修复md5 9 func RunFixMD5(pcspaths ...string) { 10 absPaths, err := matchPathByShellPattern(pcspaths...) 11 if err != nil { 12 fmt.Println(err) 13 return 14 } 15 16 pcs := GetBaiduPCS() 17 finfoList, err := pcs.FilesDirectoriesBatchMeta(absPaths...) 18 if err != nil { 19 fmt.Println(err) 20 return 21 } 22 23 for k, finfo := range finfoList { 24 err := pcs.FixMD5ByFileInfo(finfo) 25 if err == nil { 26 fmt.Printf("[%d] - [%s] 修复md5成功\n", k, finfo.Path) 27 continue 28 } 29 30 if err.GetError() == baidupcs.ErrFixMD5Failed { 31 fmt.Printf("[%d] - [%s] 修复md5失败, 可能是服务器未刷新\n", k, finfo.Path) 32 continue 33 } 34 fmt.Printf("[%d] - [%s] 修复md5失败, 错误信息: %s\n", k, finfo.Path, err) 35 } 36 }