-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate.bat
158 lines (149 loc) · 5.12 KB
/
update.bat
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
@echo off
:start
cd "%~dp0"
chcp 65001
FOR /f "tokens=3-7 delims=[.] " %%i in ('ver') do @(if %%i==XP (set os_ver_org=%%k.%%l) else (if %%j geq 10 (set os_ver_org=%%j.%%k.%%l) else (set os_ver_org=%%j.%%k)))
set os_ver=%os_ver_org%
IF %os_ver_org:~0,1% gtr 3 set os_ver=0%os_ver_org%
set colorSupport=No
IF %os_ver% GEQ 10.0.10586 set colorSupport=Yes
IF %colorSupport%==Yes color
cls
IF NOT EXIST "AT.xsl" (
IF %colorSupport%==Yes (
echo [31m⚠[0m 缺少 [32mAT.xsl[0m 檔案,無法處理資料表。請把 AT.xsl 跟 update.bat 放在同一個資料夾內,然後再試一次。請按任意鍵結束……
) ELSE (
echo 錯誤:缺少 AT.xsl 檔案,無法處理資料表。請把 AT.xsl 跟 update.bat 放在同一個資料夾內,然後再試一次。請按任意鍵結束……
)
pause > nul
exit
)
IF NOT EXIST "wget.exe" (
IF %colorSupport%==Yes (
echo [36m🔰[0m 請先取得 [32mGNU Wget[0m 執行檔。現在即將使用預設瀏覽器帶您前往 GNU Wget 下載網頁,請按任意鍵繼續……
) ELSE (
echo 請先取得 GNU Wget 執行檔。現在即將使用預設瀏覽器帶您前往 GNU Wget 下載網頁,請按任意鍵繼續……
)
pause > nul
start "" "https://eternallybored.org/misc/wget/"
exit
)
IF NOT EXIST "unzip.exe" (
IF %colorSupport%==Yes (
echo [36m🔰[0m 請先取得 [32mUnZip[0m 執行檔。現在即將使用預設瀏覽器下載 UnZip,請按任意鍵繼續……
) ELSE (
echo 請先取得 UnZip 執行檔。現在即將使用預設瀏覽器下載 UnZip,請按任意鍵繼續……
)
pause > nul
start "" "https://gnuwin32.sourceforge.net/downlinks/unzip-bin-zip.php"
exit
)
IF NOT EXIST "xml.exe" (
IF %colorSupport%==Yes (
echo [36m🔰[0m 請先取得 [32mXMLStarlet[0m 工具執行檔。現在即將使用預設瀏覽器下載 XMLStarlet,請按任意鍵繼續……
) ELSE (
echo 請先取得 XMLStarlet 工具執行檔。現在即將使用預設瀏覽器下載 XMLStarlet,請按任意鍵繼續……
)
pause > nul
start "" "https://sourceforge.net/projects/xmlstar/files/latest/download"
exit
)
:checkconnection
wget.exe -q -O NUL "https://data.fda.gov.tw/"
IF ERRORLEVEL 1 (
IF %colorSupport%==Yes (
echo [31m⚠[0m 無法連上政府資料開放平臺網站。請按任意鍵結束……
) ELSE (
echo 無法連上政府資料開放平臺網站。請按任意鍵結束……
)
pause > nul
exit
)
IF EXIST "AT.html" (
IF %colorSupport%==Yes (
echo ○○○○[0/4][35m💾[0m 發現先前製作的資料表,自動備份為 [32mAT.bak.html[0m
) ELSE (
echo ○○○○[0/4] 發現先前製作的資料表,自動備份為 AT.bak.html
)
echo:
del /F /Q AT.bak.html > nul 2>&1
copy /Y AT.html AT.bak.html > nul
timeout /t 2 > nul
)
cls
:download
IF %colorSupport%==Yes (
echo [1;32m●[0m○○○[1/4][34m📦[0m 正在從政府資料開放平臺下載醫療器材許可證資料集……
) ELSE (
echo ●○○○[1/4] 正在從政府資料開放平臺下載醫療器材許可證資料集……
)
echo:
wget.exe --output-document=68_1.xml.zip "https://data.fda.gov.tw/opendata/exportDataList.do?method=ExportData&InfoId=68&logType=1"
IF EXIST "68_1.xml.zip" (
GOTO unzip
) ELSE (
echo:
IF %colorSupport%==Yes (
echo [33m⟲[0m 檔案下載出了問題,正在重試……
) ELSE (
echo 檔案下載出了問題,正在重試……
)
echo:
GOTO download
)
:unzip
IF %@FILESIZE["68_1.xml.zip"] == 0 (
del /F /Q 68_1.xml.zip
echo:
IF %colorSupport%==Yes (
echo [33m⟲[0m 檔案下載出了問題,正在重試……
) ELSE (
echo 檔案下載出了問題,正在重試……
)
echo:
GOTO download
) ELSE (
cls
IF %colorSupport%==Yes (
echo [1;32m●●[0m○○[2/4][36m📖[0m 資料集已下載,正在解壓縮……
) ELSE (
echo ●●○○[2/4] 資料集已下載,正在解壓縮……
)
echo:
unzip.exe 68_1.xml.zip
timeout /t 1 > nul
)
:cont
cls
IF %colorSupport%==Yes (
echo [1;32m●●●[0m○[3/4][35m♿[0m 正在轉換產製資料表,這個步驟耗時約一分鐘,請耐心等候……
) ELSE (
echo ●●●○[3/4] 正在轉換產製資料表,這個步驟耗時約一分鐘,請耐心等候……
)
echo:
xml.exe tr AT.xsl 68_1.xml > AT.html
IF EXIST "AT.html" (
del /F /Q 68_1.xml
del /F /Q 68_1.xml.zip
GOTO end
) ELSE (
echo:
IF %colorSupport%==Yes (
echo [33m⟲[0m 轉換產製資料表出了問題,正在重試……
) ELSE (
echo 轉換產製資料表出了問題,正在重試……
)
echo:
GOTO cont
)
:end
del /F /Q *.
cls
IF %colorSupport%==Yes (
echo [1;32m●●●●[0m[4/4][32m✅[0m 資料表產生完成。即將使用預設瀏覽器開啟資料表 ^([32mAT.html[0m^),請按任意鍵繼續……
) ELSE (
echo ●●●●[4/4] 資料表產生完成。即將使用預設瀏覽器開啟資料表 ^(AT.html^),請按任意鍵繼續……
)
pause > nul
start "" "AT.html"
exit