批处理增加开机启动项(转)

(http://blog.sina.com.cn/s/blog_4a16335c0100hnzo.html)

WinXP/2003开机启动项在注册表中的位置:

1HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run,右侧窗口中的每一个键值即代表一个启动项

2HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run,右侧窗口中的每一个键值即代表一个启动项

3HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\MSConfig\startupreg,其下的每一个子键即代表一个启动项;

4HKEY_LOCAL_MACHINE\Software\Microsoft\Shared Tools\MSConfig\startupfloder,其下的每一个子键即代表一个启动项。

在注册表中删除了启动项的键值或子键后,启动项即被关闭,同时“系统配置实用程序”窗口的“启动”页中也不再显示该启动项。

 

打开注册表

找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

主键,然后在它的窗口右边建立一个的键值名,并填入相应键值,退出注册表编辑器。想提供了一次性的自启动功能。紧跟在“Run”主键后面有一个“RunOnce”和“RunOnceEx”子键,你可以在这两个子键内设置新的键值,让系统自动运行一次某个程序,即仅在下一次启动 Windows时才有效。

举例:增加任务管理器开机启动项

第一步:找到注册表的启动项位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run主键

第二步:在另边点击右键:新建“字符串值”,取名“taskmgr

第三步:找到你所要增加启动项的软件目录:

第三步:双击你新建的“taskmgr”字符串值项

编辑字符串数值数据:将第三步找到的软件目录复制到数值数据中, 确定后,关闭注册表。

 

 

 

 

批处理增加开机启动项

例如我要把C:\windows\system32\taskmgr.exe加进启动项,如下:

@echo off

echo REGEDIT4>x.reg

echo.

echo[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>>x.reg (注:此句要写成一行)

echo "taskmgr"="C:\\windows\\system32\\taskmgr.exe">>x.reg

regedit /s x.reg &del x.reg

最后保存为*.bat

 

 

注:Regedit /s     导入 .reg 文件进注册表并且不给任何提示

上述语句会生成 x.reg文件,del x.reg删除之

 

想用批处理文件输入一段代码也可以使某一程序在注册表的开机启动项的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run添加启动项

1.例如我要把c:\windows\baidu.bat加进启动项,如下:
@echo off
echo REGEDIT4>x.reg
echo.
echo [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run]>>x.reg
echo "bat"="C:\\windows\\baidu.bat">>x.reg
regedit /s x.reg &del x.reg

上面的文件名和路径根据你自身情况修改下就OK

2.假设要添加进启动项的程序为C:\Tencent\QQ.exe
@echo off
echo REGEDIT4>x.reg
echo.
echo [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\run]>>x.reg
echo "QQStart"="C:\\Tencent\\QQ.exe">>x.reg
上面一句等号两边的引号都不能丢掉,QQStart可以随便写.
regedit /s x.reg &del x.reg

3.假如把c:\1.bat注册表。开机让他启动!!
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v lin /t REG_SZ /d C:\1.bat /f

lin是代表1.bat的名字。。。名字可以随便起的

原文地址:https://www.cnblogs.com/ryhan/p/2134403.html