最近用bat做电脑环境 软件的安装和部署,但是现在出现了问题,因为对bat的不太了解,我现在想到的方法 少的可怜
bat所要做的东西:
自动安装程序---通过au3安装exe和微软的WindowsInstaller安装.msi软件,中间遇到了,用start启动多个窗口,并行执行,虽然设置了,不太安装程序的优先级,可还是会冲突,个人怀疑,冲突的不是在start,而是在start将安装命令送给Windows后,Windows Installer没有顺序安装程序,导致冲突,现在还没有好的解决办法,之前的策略是延时,或者不用并行,用call的方式,但是部分程序是有按键的,不用start可能导致后续程序无法执行???
自动部署---安装程序之后,需要对应添加环境变量,通过bat的set很简单,添加到path以及新建系统变量,但是命令行窗口,环境变量的生效是在新的cmd窗口,(不是用start调的新的窗口),导致我无法验证环境
验证环境---现在验证的方法,只是通过errorlevel来识别语句到底有无正常执行,但是无法得知程序的安装结果,(一般path添加不会有问题),部分工具的验证语句是要在,环境变量添加了之后,才能识别,所以现在很纠结
想到的解决办法:
现在想到的有2种:
1,之前为了不想等,曾摸索过 at 定时命令,可以做到,定时执行bat、exe等,但是感觉定时命令不高效,而且有时可能也不靠谱
2,也有做过,在path添加完成后,重启电脑,将验证bat放在启动中,在电脑重启后,执行验证,后续删除验证bat,这种也可以,但是我觉得我是不是绕了很大的圈子
有没有简单直接的方法???初学bat,觉得好无力~~
用 setx 命令设置环境变量
用的是 setx
@plato_yun: set + setx
@dudu: 用这种方式的话,设置的环境变量能在本cmd窗口生效吗?
@plato_yun: set可以在本cmd窗口生效
@dudu: set 只对当前窗口生效,要用set和setx 设2遍以达到我的目的吗?
@plato_yun: 是的,就是这个思路
@dudu: 恩,知道了。再加个问题,同一个域内的电脑,可以用批处理,远程启动一个电脑的exe或者bat吗?你知道有啥方法吗?