参照示例搭建一个Quertz + Topshelf的一个作业调度服务(基础)

学习网址:Quartz.NET 入门使用Topshelf创建Windows服务 来自七七资料

1、直接下载源码

2、配置完成后,安装服务测试应用。

以下是遇到情况和加入的一些内容

1、在进行服务安装的时候提示‘xxx服务, service can only be installed as an administrator’

     处理方式:右击生成服务 xxx.exe->属性->兼容性,勾选以 ‘管理员身份运行此程序’

     再次安装服务成功通过!

2、编写几个批处理文件,用于快速安装、启动、查看、停止、卸载服务。

将生成的批处理文件设置成始终复制。右击文件->属性->复制到输出目录,选择 ‘始终复制’。

然后在生成的bindebug下能看到,直接点击批处理文件安装卸载等操作

脚本代码分别如下:

安装服务

@echo off

echo 注意‘服务名称’与服务 '*.exe'的差别
set SvcName=QuartzDemo.exe

echo 安装服务%SvcName%
%~dp0\%SvcName% install

echo 启动服务%SvcName%
%~dp0\%SvcName% start

echo.
pause

查看服务

 

@echo off

echo 注意‘服务名称’与服务 '*.exe'的差别

set SvcName=QuartzDemo服务名称
echo Service state: %SvcName%
sc query %SvcName%

echo.
pause

 

启动服务

@echo off

echo 注意‘服务名称’与服务 '*.exe'的差别
set SvcName=QuartzDemo.exe

echo 启动服务%SvcName%
%~dp0\%SvcName% start

echo.
pause

停止服务

@echo off

echo 注意‘服务名称’与服务 '*.exe'的差别
set SvcName=QuartzDemo.exe

echo 停止服务%SvcName%
net stop %SvcName%

echo.
pause

卸载服务

@echo off

echo 注意‘服务名称’与服务 '*.exe'的差别
set SvcName=QuartzDemo.exe

echo 卸载服务%SvcName%
%~dp0\%SvcName% uninstall

echo.
pause 

 源码下载:儿时精神-Easyman.Quertz


PS下批处理文件编写一些说明:链接

命令:Echo   

功能:回显,打开或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。

语法:echo [{on|off}] [message]

参数

{on | off}

指定是否打开命令回显功能。

message

指定要在屏幕上显示的文本。

/?
在命令提示符显示帮助。

注释:

当回显关闭时可以使用 echo message 命令。要显示几行长的消息而不显示其他命令,可以在批处理程序的 echo off 命令后包含几个 echo message 命令。
如果使用 echo off,屏幕上就不会出现命令提示符。要显示命令提示符,请键入 echo on。
    
要避免回显某行,请在批处理程序中的命令前面插入 at 符号 (@)。

要在屏幕上回显空白行,请键入:

echo.

当使用 echo 命令时,要显示管道 (|) 或重定向字符(< 或 >),请在管道 (|) 或重定向字符(例如,^>、^< 或 ^|)的前面使用脱字符 (^)。如果需要使用脱字符 (^),请键入两个脱字符 (^^)。

范例:

以下范例显示的批处理程序包含前后各有一个空行的三行消息:

echo off
echo. 
echo This batch program 
echo formats and checks 
echo new disks 
echo.

如果要关闭回显并且不需要回显 echo 命令,请在命令之前包含 at 符号 (@),如下所示:

@echo off

在相同命令行上可以使用 if 和 echo 命令,如下所示:例如:

if exist *.rpt echo The report has arrived.

原文地址:https://www.cnblogs.com/senyier/p/6424138.html