前言
启动优先级:服务>注册表>启动文件夹>计划
添加服务
该方式不支持bat
1 | sc create PullBatch binpath= "D:\Project\pull_batch.exe" displayname= "TestService" depend= Tcpip start= auto |
注意:
1)binPath=后面一定要有个空格,否则会出现错误。
2)如果建错了或者需要修改,这时需要先删除服务,再重新创建,删除服务的命令:
1 | sc delete PullBatch |
在提示建立成功后,可以直接输入
1 | net start PullBatch |
注册表方式
Win + R 打开运行,输入:regedit.exe
进入注册表。
打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
位置后,右键空白处新建字符串值
,数值数据位置填入所需开机自启动的应用程序位置。
这是系统启动 会导致用户的命令无法正常执行。
启动文件夹
用户启动目录
Win + R 打开运行,输入:shell:startup
把要开机自启的程序文件或快捷方式复制到打开的窗口中即可。
系统启动目录
CMD+R
运行以下命令打开开机启动文件夹
1 | shell:Common Startup |
拷贝需要开机启动的程序的快捷方式到此文件夹即可
打开任务管理器
-启动
查看启动项(Win10上可以/Win Server2012无法查看)
注意
不要使用
shell:startup
,这个是用户的启动目录,只有用户登录后才会启动。
添加任务计划
1.启动创建任务计划
按键盘上的Windows + R
键以打开运行
,然后键入taskschd.msc
,最后,单击或点击确定
。
2.创建任务
(1) 点击右侧的【创建任务】
(2) 点击【常规】,填写名称。
注意:一定要选中,不管用户是否登录都要运行,不存储密码,使用最高权限。
(3) 点击【触发器】,点击【新建】,选择【启动时】,点击确定。
(4) 点击【操作】,点击【新建】,选择要启动的程序或脚本的路径。起始于此处一定要填写,程序或脚本的上一级路径。
(5) 点击确定后,任务就建成了。重新启动,验证即可。
3.查看任务
注意项
在创建计划任务时,有一步是需要输入用户名密码的:
这时,有两种方案供我们选择:一是设置成Administrator,二是设置成SYSTEM。我们应该如何取舍呢?
首先,设置成Administrator时,需要输入密码;而设置成SYSTEM,则不需要(密码置空即可)。因此,如果服务器需要定期变更Administrator密码的话,建议设置成SYSTEM。
其次,设置成Administrator时,计划任务将在前台运行;而设置成SYSTEM,将在后台运行。因此,如果在计划任务的执行过程中,需要与用户交互,建议设置成Administrator。
再次,设置成Administrator时,可以通过任务计划执行一切可以直接运行成功的代码;而设置成SYSTEM,则无法通过任务计划执行部分代码(原因未知),如包含“net use”的批处理文件。因此,最好在测试成功之后,再做决定。
以管理员身份运行程序
1 | @echo off |