golang 1.20.13 定时执行bat shell 脚本
package main import ( "fmt" "os/exec" "time" ) func main() { // 设置定时任务的时间 t := time.Now() next := time.Date(t.Year(), t.Month(), t.Day(), 13, 53, 0, 0, t.Location()) if t.After(next) { // 如果现在已经是今天的17点之后,则设置为明天的17点 next = next.AddDate(0, 0, 1) } // 计算下次执行的等待时间 d := next.Sub(t) // 启动定时器 time.AfterFunc(d, func() { for { // 执行批处理脚本 cmd := exec.Command("E:\\tables\\optimization_sql.bat") err := cmd.Run() if err != nil { fmt.Printf("Error: %s\n", err) } // 等待一天结束,然后再次执行 time.Sleep(24 * time.Hour) } }) // 阻塞主goroutine select {} }
标签:13,shell,bat,next,golang,time,1.20 From: https://www.cnblogs.com/jason-zhao/p/18159928