番外篇-使用腳本批量安裝軟件

前兩天系統掛了,於是重裝系統,由於我屬於那種愛折騰的人,系統基本三天兩頭掛,就算不自己掛,過一段時間,我也會因爲運行速度變慢自行重裝系統,但是軟件開發,你懂的,能偷懶就偷懶,讓我安裝系統就已經很難受了,還想讓我一個一個去安裝軟件,做夢(¬︿̫̿¬☆),所以就寫一個腳本自動安裝軟件吧 ps-其實腳本老早以前就搞定了,只不過一直沒寫成博客,正好這次想起來了,就寫下來吧

因爲我習慣在Windows平臺開發,所以腳本肯定是Windows批處理,其實軟件想要腳本自動安裝是需要軟件本身的支持的,如果軟件本身不支持任何靜默安裝,其實我們是沒轍的,比如火絨這種官方明確說了不提供靜默安裝的殺毒軟件,我直接放棄腳本安裝了,老老實實手動點,這裏其實要感謝國內惡劣的軟件靜默安裝環境,基本上所有國內軟件廠商的靜默安裝參數都是/S或/s(爲了方便各種“精簡”系統捆綁安裝,要恰飯的嘛),所以其實說到這裏,腳本的編寫也泄露的差不多了

首先是如何獲取對應的靜默安裝參數,不少博客都會告訴你,用/?不過我說實話,基本沒用,國內軟件沒有一家支持這個參數的,反正我試了試幾家,連錯誤提示都沒有,就直接幫你打開對應的軟件包,根本無視這個參數

如果想找對應的參數,兩種解決方案,國產軟件就直接測試/s/S即可,沒成功大概率是不支持靜默安裝,直接放棄,國外軟件,如我寫代碼常用的jdk,redis等軟件,考慮使用報錯法,先搞一個無效參數,隨便打,大概率會報錯,並提示參數

在這裏插入圖片描述
獲取參數後,接下來的工作就簡單了許多,不過如果僅僅只是單純的將對應的命令行如同下面這樣編寫成批處理文件,出現問題,因爲本質上批處理文件是一個單線程執行的程序,先不說效率問題,就單單這個單線程本身就會導致問題,比如你想在安裝軟件的同時進行一些其他設置,由於失去焦點,可能會導致批處理文件卡在某個位置上,相當不爽,不過解決方法也很簡單,既然一個批處理是單線程,我開多個批處理不就行了,我也是這麼想的,所以我對其進行了優化

F:
cd 裝機軟件
WPS2019.ProPlus.11.8.2.8411.VBA.exe /S
Redis-x64-3.0.504.msi /passive
LGS_9.02.65_x64_Logitech.exe /S
Postman-win64-7.1.1-Setup.exe /S
WeChatSetup.exe /S
YoudaoDictSetup.exe /S
wyy_2.4.0.65330.exe /S
TIM2.3.2.21158.exe /S
jdk-8u202-windows-x64.exe /s
360zip_setup_4.0.0.1200.exe /S
typora-setup-x64.exe /S

優化後,我們執行的批處理就只用來打開另外一個黑框框執行指令,來進行僞多線程操作,效果很好,電腦卡兩下,軟件就自動安裝完成,不過其實到這裏這個批處理命令是不能用的,因爲我這裏使用了中文路徑,實際運行會亂碼,然後提示找不到文件,使用記事本另存爲ANSI格式即可,不要使用默認的UTF-8

F:
cd 裝機軟件
start cmd /c WPS2019.ProPlus.11.8.2.8411.VBA.exe /S
start cmd /c Redis-x64-3.0.504.msi /passive
start cmd /c LGS_9.02.65_x64_Logitech.exe /S
start cmd /c Postman-win64-7.1.1-Setup.exe /S
start cmd /c WeChatSetup.exe /S
start cmd /c YoudaoDictSetup.exe /S
start cmd /c wyy_2.4.0.65330.exe /S
start cmd /c TIM2.3.2.21158.exe /S
start cmd /c jdk-8u202-windows-x64.exe /s
start cmd /c 360zip_setup_4.0.0.1200.exe /S
start cmd /c typora-setup-x64.exe /S
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章