package tools import ( "fmt" "os" "time" "b612.me/starainrt" "github.com/spf13/cobra" ) var gencmd = &cobra.Command{ Use: "generate", Short: "生成随机文件", Long: "生成指定大小的随机文件", Run: func(this *cobra.Command, args []string) { sum, _ := this.Flags().GetInt("sum") num, _ := this.Flags().GetInt("num") cap, _ := this.Flags().GetInt("cap") if len(args) != 1 { this.Help() return } if num <= 0 { fmt.Println("num不合法,不应该小于1!") os.Exit(2) } if sum <= 0 { fmt.Println("sum不合法,不应该小于1!") os.Exit(2) } if cap <= 0 { fmt.Println("cap不合法,不应该小于1!") os.Exit(2) } err := starainrt.FillWithRandom(args[0], num, cap, sum, func(pect float64) { fmt.Printf("文件已处理:%f%%\r", pect) }) if err != nil { fmt.Println("err:" + err.Error()) } fmt.Println("文件已处理:100.0000000%") time.Sleep(time.Millisecond * 10) }, } func init() { gencmd.Flags().IntP("sum", "s", 3, "随机的种子组数") gencmd.Flags().IntP("num", "n", 1024, "生成的文件大小") gencmd.Flags().IntP("cap", "c", 1048576, "bufcap大小") gencmd.MarkFlagRequired("num") Maincmd.AddCommand(gencmd) }