开机脚本的定义:
其实开机脚本并没有一个很官方的定义,其实开机脚本也不是那么神秘,说白了就是开机运行一个批处理或者VBS脚本,来解决一些不需要重启就可以生效的问题,来实现一些不需要重启就可以生效的功能。个人感觉这么理解应该是没错误的。
开机脚本的添加/安装:
开机脚本的安装和添加有很多途径,很多方式,下面我简单说下常见的添加方式,以及优缺点。
1、将开机脚本文件放到“C:\Documents and Settings\用户名\「开始」菜单\程序\启动”目录内来实现开机启动。
这个方法是最简单的了,但是效能一般,放在启动文件夹启动如果是批处理文件会有黑框,尽管你可以用其他方式来隐藏黑框,但是还是有点麻烦。
优点:设置方法简单。
缺点:某些时候可能因为路径空格问题导致脚本执行异常。启动优先级很较低。
2、通过注册表开机项实现。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
像其他开机软件一样,可以通过这两个注册表来实现开机运行。
优点:设置方法简单,把设置好的注册表导入下就OK了。
缺点:容易误操作被清理掉。个别情况执行会受限制。启动优先级中等。
3、通过组策略实现开机运行。
开始--运行--gpedit.msc--“本地计算机”策略--用户配置--Windows设置--脚本(登陆/注销)--右测点登陆,然后填入脚本路径。
这种方法是我正在使用的,效果很好。
优点:设置方式隐蔽,不会出现上面两种方式的缺点,执行优先等级高。
缺点:至今尚未发现。
4、通过服务方式实现开机启动。
这个方法技术含量过高,操作较为麻烦,搞不好还可能被某些软件识别成病毒,所以就不做介绍了。
开机脚本的运行方式:
1、开机脚本直接执行远程路径的批处理或VBS,这种方式失败率过高,但是依然有人会有,我也非常不解,效果就是开机脚本路径为\\服务器名\共享路径\开机脚本.bat。因为开机时有段时间网络是不通的,这么设置基本没什么执行效果。
2、比上面稍微好一点,执行一个本地脚本,而脚本内容则是。
call \\服务器名\共享路径\开机脚本.bat
表面上看起来和上面的方法有差别,但是实际效果是一样的,失败率很高。
3、比上面两点再进步一点,先执行一个本地脚本,然后用PING方式延时启动远程脚本。内容大致为:
ping 127.0.0.1 -n 5
call \\服务器名\共享路径\开机脚本.bat
这种方式执行率有一定提升,但是执行效果仍然不是特别理想。
4、较强的方案,执行一个本地脚本,然后把服务器脚本复制到本地,然后再调用。内容大致为:
ping 127.0.0.1 -n 5
copy \\服务器名\共享路径\开机脚本.bat E:\Autorun\ /y
call E:\Autorun\开机脚本.bat
这种方案已经是比较成熟,也比较好用的方式了。但是执行成功率仍然是可圈可点,比如网卡延时情况,你不一定延时5秒就可以成功,有时可能延时更久。
5、个人认为最强的方案,执行一个本地脚本,然后复制远程服务器上的脚本到本地,测试指定的开机脚本文件是否存在,如果不存在则循环延时,直到检测到指定的开机脚本文件存在,然后直接调用执行。内容大致为:
:loop
ping 127.0.0.1 -n 3
copy "\\服务器名\共享路径\开机脚本.bat" "E:\Autorun\" /y
if not exist "E:\Autorun\开机脚本.bat" goto :loop
call "E:\Autorun\开机脚本.bat"
这种方式除cmd.exe进程被人为关闭,脚本都会100%执行成功。所以推荐大家适用此种方式。
下面附上本人正在适用的本地开机脚本
联系客服