package main import ( "fmt" "os" "os/exec" "path/filepath" "strings" "github.com/Merith-TK/utils/debug" ) func goonFiles(src string) error { debug.SetTitle("goonFiles") defer debug.ResetTitle() var goonError error var goonDest string src, goonError = filepath.Abs(src) if goonError != nil { return goonError } goonDest = filepath.ToSlash(src) _, err := os.Stat(src) if os.IsNotExist(err) { return fmt.Errorf("source path does not exist: %s", src) } if err != nil { return fmt.Errorf("could not stat source path: %v", err) } goonDest = strings.TrimPrefix(goonDest, "C:/") userProfile := os.Getenv("USERPROFILE") if userProfile == "" { return fmt.Errorf("could not get USERPROFILE environment variable") } goonDestPath := filepath.Join("C:/", ".wanna-goon", goonDest) debug.Print("gooning:", src) debug.Print("to:", goonDestPath) goonError = os.MkdirAll(filepath.Dir(goonDestPath), os.ModePerm) if goonError != nil { return fmt.Errorf("could not create directory %s: %v", goonDestPath, goonError) } goonError = os.Rename(src, goonDestPath) if goonError != nil { return fmt.Errorf("could not move file from %s to %s: %v", src, goonDestPath, goonError) } return goonError } func goonProgram(exeName string) error { var err error debug.SetTitle("cooming") defer debug.ResetTitle() cmdKill := exec.Command("cmd", "/C", "taskkill /IM", exeName, "/F") err = cmdKill.Run() if err != nil { fmt.Println("Error killing Discord process:", err) return err } return nil }