标题: [系统相关] [已解决]批处理如何将一个软件或者文件纳入开机启动? [打印本页]
作者: v449715955 时间: 2009-12-20 15:40 标题: [已解决]批处理如何将一个软件或者文件纳入开机启动?
请问怎么将一个文件(如批处理文件)或者软件(如杀毒软件)让其在开机时自动运行??
我再描述一下,就是让电脑在进入操作系统以前就自动运行那种??该怎么做呢?
[ 本帖最后由 v449715955 于 2009-12-27 14:42 编辑 ]
作者: keen 时间: 2009-12-20 21:25 标题: 回复 1楼 的帖子
一般的随系统启动的就几种方式:
1、把程序放到C:\Documents and Settings\Administrator\「开始」菜单\程序\启动文件夹下;
2、把程序的路径写到注册表run值的下面;
3、放到组策略中的启动中。
不知道你的“让电脑进入操作系统以前就自动运行”指的是那种,这个可能要在系统加载时加入东西,可能是修改系统的引导程序哪儿。不太清楚。
作者: Batcher 时间: 2009-12-20 22:41
把它制作成服务
作者: v449715955 时间: 2009-12-21 13:00 标题: 回复 1楼 的帖子
第一个我好像懂了,哈哈。谢了哈。这个是在进入系统之后自动启动了
后面两个怎么做还望教一下步骤?
作者: keen 时间: 2009-12-21 16:03 标题: 回复 4楼 的帖子
下面代码只实现了前两个:- @echo off
- set "filename=C:\a.exe"
-
- copy "%filename%" "%userprofile%\「开始」菜单\程序\启动"
-
- call reg add "hkcu\software\microsoft\windows\currentversion\run" /v a.exe /t reg_sz /d "%%filename%%" /f
复制代码
关于组策略添加启动,我用手工加入了程序,然后监视注册表的变化,却增加17个键,增加值达到38个,还有修改值12个,看来是不能那么轻易的用批处理加入了。
至于把程序加到服务中,可以借助第三方程序runassrv,或者利用lxzzr版主的WMIC版的批处理把程序变成服务。随系统启动。
runassrv和lxzzr版主的wmic版的批处理,参看下面帖子:
http://bbs.bathome.net/viewthrea ... ;highlight=runassrv
作者: neorobin 时间: 2009-12-21 16:11 标题: 回复 5楼 的帖子
- set "filename=C:\a.exe"
- copy "%filename%" "%userprofile%\「开始」菜单\程序\启动"
复制代码
这个对独立运行(或对工作目录无要求)的可执行文件才有效, 通用的是将该文件的快捷方式(最好设置好了工作目录)放入 "%userprofile%\「开始」菜单\程序\启动 目录
作者: lxzzr 时间: 2009-12-21 16:29
组策略启动、关机脚本的添加(没试过,来源于网络)
2000/XP系统下我们可以通过组策略来进行启动和关机脚本的配置。“开始->运行->输入gpedit.msc”,启动组策略。在本地计算机策略的计算机配置下的windows设置中我们可以看到脚本(启动/关闭)的选项。(双击关机-添加-浏览你自己的脚本就行了)在这里我们就可以随意的添加启动和关机脚本了。这样当系统启动后/关闭前都会首先自动执行我们设置好的启动脚本。
当我们应用了启动/关机脚本的时候,会在系统目录下的system32\grouppolicy\machine\scripts目录下生成一个scripts.ini的隐藏文件,他记录的实际上是脚本调用信息,该文件格式如下:
[startup]
0cmdline=加载的启动脚本名称(bat或VBS等)
0parameters=后头跟参数,一般为空
[shutdown]
0cmdline=加载的关机脚本名称
0parameters=跟参数,一般为空
作者: keen 时间: 2009-12-21 19:48 标题: 回复 6楼 的帖子
的确是这样的,没有考虑全面。感谢neorobin兄的提醒。
作者: keen 时间: 2009-12-21 20:35 标题: 回复 7楼 的帖子
按照你的提供的资料可以实现组策略的启动了,就是修改scripts.ini文件就行了,代码:- @echo off
- set "filename=%windir%\System32\GroupPolicy\Machine\Scripts\scripts.ini"
- attrib -h "%filename%"
- (
- echo [Startup]
- echo 0CmdLine=C:\a.exe
- echo 0Parameters=
- )>"%filename%"
- attrib +h "%filename%"
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |