番外篇-使用脚本批量安装软件

前两天系统挂了,于是重装系统,由于我属于那种爱折腾的人,系统基本三天两头挂,就算不自己挂,过一段时间,我也会因为运行速度变慢自行重装系统,但是软件开发,你懂的,能偷懒就偷懒,让我安装系统就已经很难受了,还想让我一个一个去安装软件,做梦(¬︿̫̿¬☆),所以就写一个脚本自动安装软件吧 ps-其实脚本老早以前就搞定了,只不过一直没写成博客,正好这次想起来了,就写下来吧

因为我习惯在Windows平台开发,所以脚本肯定是Windows批处理,其实软件想要脚本自动安装是需要软件本身的支持的,如果软件本身不支持任何静默安装,其实我们是没辙的,比如火绒这种官方明确说了不提供静默安装的杀毒软件,我直接放弃脚本安装了,老老实实手动点,这里其实要感谢国内恶劣的软件静默安装环境,基本上所有国内软件厂商的静默安装参数都是/S或/s(为了方便各种“精简”系统捆绑安装,要恰饭的嘛),所以其实说到这里,脚本的编写也泄露的差不多了

首先是如何获取对应的静默安装参数,不少博客都会告诉你,用/?不过我说实话,基本没用,国内软件没有一家支持这个参数的,反正我试了试几家,连错误提示都没有,就直接帮你打开对应的软件包,根本无视这个参数

如果想找对应的参数,两种解决方案,国产软件就直接测试/s/S即可,没成功大概率是不支持静默安装,直接放弃,国外软件,如我写代码常用的jdk,redis等软件,考虑使用报错法,先搞一个无效参数,随便打,大概率会报错,并提示参数

番外篇-使用脚本批量安装软件_第1张图片
获取参数后,接下来的工作就简单了许多,不过如果仅仅只是单纯的将对应的命令行如同下面这样编写成批处理文件,出现问题,因为本质上批处理文件是一个单线程执行的程序,先不说效率问题,就单单这个单线程本身就会导致问题,比如你想在安装软件的同时进行一些其他设置,由于失去焦点,可能会导致批处理文件卡在某个位置上,相当不爽,不过解决方法也很简单,既然一个批处理是单线程,我开多个批处理不就行了,我也是这么想的,所以我对其进行了优化

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

你可能感兴趣的:(番外篇-使用脚本批量安装软件)