-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
123 lines (109 loc) · 2.57 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package main
import (
"fmt"
"os"
"time"
"github.com/kiwislice/toolbox/clear"
"github.com/kiwislice/toolbox/copy"
"github.com/kiwislice/toolbox/mssql"
"github.com/kiwislice/toolbox/randomstring"
"github.com/kiwislice/toolbox/remove"
"github.com/kiwislice/toolbox/tools"
)
func printMainDoc() {
doc := `
自製工具箱
toolbox.exe <command> [<args>]
以下為<command>清單:
help 顯示使用說明
copy 複製檔案或資料夾
remove 刪除檔案或資料夾
randomString 產生隨機字串
mssqlCompareTableData 比較MSSQL的2張資料表資料內容是否相同
mssqlGetDatabaseSchema 取得MSSQL指定資料庫的Schema資料
'toolbox.exe help <command>'可以看到該command的使用說明
`
fmt.Println(doc)
}
func main() {
if len(os.Args) <= 1 {
printMainDoc()
return
}
needHelp := os.Args[1] == "help"
command := os.Args[1]
args := os.Args[2:]
if needHelp && len(os.Args) >= 3 {
command = os.Args[2]
args = os.Args[3:]
}
switch command {
case "copy":
if needHelp {
copy.PrintDoc()
} else {
copy.Execute(args)
}
case "remove":
if needHelp {
remove.PrintDoc()
} else {
remove.Execute(args)
}
case "clear":
if needHelp {
clear.PrintDoc()
} else {
clear.Execute(args)
}
case "randomString":
if needHelp {
randomstring.PrintDoc()
} else {
randomstring.Execute(args)
}
case "testLoadingText":
pb := tools.NewLoadingText()
pb.Start()
for i := 1 << 30; i > 1; i = int(float64(i) / 1.1) {
s := fmt.Sprintf("aaaaaaaaa %d bbbbb", i)
pb.SetText(s)
time.Sleep(10 * time.Millisecond)
}
pb.Finish()
case "showText":
fmt.Print(args)
case "test":
_, err := tools.ExecCommandPrint("ping 8.8.8.8")
if err != nil {
fmt.Println(err)
}
// fmt.Println(strings.Join(lines, "+++"))
case "mssqlCompareTableData":
if needHelp {
mssql.CompareTableData.PrintDoc()
} else {
mssql.CompareTableData.Execute(args)
}
case "mssqlGetDatabaseSchema":
if needHelp {
mssql.GetDatabaseSchemaCmd.PrintDoc()
} else {
mssql.GetDatabaseSchemaCmd.Execute(args)
}
// dbL, err := mssql.NewDb("127.0.0.1", "1433", "sa", "<YourStrong@Passw0rd>", "CYBusNew1")
// if err != nil {
// fmt.Println("連線DB左失敗:", err.Error())
// }
// defer dbL.Close()
// dbR, err := mssql.NewDb("127.0.0.1", "1433", "sa", "<YourStrong@Passw0rd>", "CYBusOldOld1")
// if err != nil {
// fmt.Println("連線DB右失敗:", err.Error())
// }
// defer dbR.Close()
// same := mssql.CompareTableData(dbL, dbR, "Cost_18")
// fmt.Printf("是否相同: %v\n", same
default:
printMainDoc()
}
}