前言
在Windows服务器环境中,我们常常需要配置系统在启动时自动运行批处理任务或应用程序,例如启动nginx、tomcat或jar服务等。虽然将应用快捷方式放入系统启动文件夹是一种简单的方法,但这种方式存在明显不足:必须登录系统后才能执行,这对服务器管理十分不便。更好的解决方案是通过Windows的【任务计划程序】来设置系统自动启动任务。
一、Windows的任务计划程序是什么?
Windows 任务计划程序是一个系统工具,允许用户自动执行任务,例如运行程序、发送邮件或执行脚本。通过预设条件和触发器,任务可以在特定时间、事件或系统状态变化时自动运行。
任务计划程序的常见用途:
- 定期清理临时文件或日志
- 自动备份重要数据
- 在系统启动时运行特定程序
- 定时执行批处理脚本或 PowerShell 命令
二、使用步骤
1.打开任务计划程序
按下 Win + R,输入 taskschd.msc 后回车

2.添加计划任务
- 右侧点击"创建基本任务",输入任务名称;选择【不管用户是否登录都要运行】、【使用最高权限运行】、配置选择对应的系统。

- 在触发器页签新建触发器并指定开始任务为"启动时"、根据实际情况配置延迟时间、勾选【已启用】

- 在操作页签新建要运行的可执行程序路径,可以添加多个。这里我要自动运行一个bat,所以设置操作为【启动程序】、程序或脚本选择bat的路径。也可以指定其他可执行的程序。

- 在条件页签中取消勾选【只有在计算机使用交流电源时才启动此任务】

经过上面步骤,批处理任务就会在计算机重启后自动重启了,避免了计算机断电或更新后重启,导致系统无法使用。
以下附上我写的bat,供有需要的伙伴参考
@echo off
title Starting All Services
echo Starting services...
echo 通过cmd.exe执行命令文件或命令...
start "执行窗口名称[必填]" /d "cmd文件目录" cmd /c "startup.cmd -m standalone"
ping 127.0.0.1 -n 31 >nul
echo 启动EXE文件,option可以添加启动时候需要的参数...
start "执行窗口名称[必填]" /d "exe文件目录" nginx.exe [option]
echo 启动BAT...
start "执行窗口名称[必填]" "D:\sw-deploy\gisbase-server\start_basicPlatApi.bat"
echo 通过ping中断一会儿再往下执行
ping 127.0.0.1 -n 6 >nul
echo.
echo All services started successfully!
echo Current time: %date% %time%
echo.
总结
Windows任务计划程序作为系统内置的强大自动化工具,能够实现程序定时启动、脚本自动运行、邮件发送等各类自动化任务。本文主要介绍其基础功能,重点解决Windows服务器重启后自托管服务的运行问题。实际上,该工具还支持更多高级特性,包括任务链式触发、执行历史查询及远程计算机管理等。掌握这些进阶功能将大幅提升工作效率,建议有需求的用户进一步深入学习。
1万+

被折叠的 条评论
为什么被折叠?



