Windows批处理文件每隔一段时间运行C#程序

时间:2014-07-30 09:54:51

标签: c# sql-server batch-file

步骤1:我有5个C#程序在星期五晚上使用任务计划程序运行。如果所有运行成功,我将更新SQL SERVER数据库中的状态表,其中程序名称(全部以NAMESEARCH开头)已完成运行状态= 1。如果有异常,我使用programname和Status = 0更新Status表。

Create table Run_Status(ProgramName varchar(500) not null, Status int not null);

在第2步:写一个bat文件来运行C#程序(Name.exe) 我的c#程序执行此操作:我检查Run_Status表,如果'NAMESEARCH%'等程序名的计数为5.然后检查是否所有Status = 1然后继续其他处理

我的问题:如何编写一个每小时运行一次的bat文件,直到“NAMESEARCH%”之类的程序名计数为5,或者换句话说,Step1已完成。

这就是我在bat文件中的全部内容

@ECHO OFF
SET Header=-----------------------------------------------------

start "" "C:\Projects\Name\Name\bin\Debug\Name.exe"
echo %ERRORLEVEL%
if %ERRORLEVEL% NEQ 0 (
echo %header%
Echo There has been an error.
echo.
pause
goto end)
if %ERRORLEVEL% EQU 1 (
ECHO Success
goto end
}
:end
REM ----------------------------------------------------------------
echo %header%
echo END
REM cd ..

感谢 [R

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用Jenkins为您运行这些工作?

詹金斯是免费的(如啤酒),有很多插件可以让你的生活更轻松。虽然它被标记为CI服务器,但它可以使用计划或触发器自动执行任何类型的批处理命令。 您可以按顺序运行批处理命令,报告错误或没有错误。詹金斯可以根据工作结果生成电子邮件或做其他事情。

具体回答你的问题:我会在jenkins中创建2个作业,第一个在一小时内执行一个Windows批处理,检查你想要的SQL结果,第二个是你提到的其他处理。

设置第二个作业由第一个作业成功完成触发。

相信我, Jenkins很容易使用。我一直在寻找新的东西,这样可以让我的生活更轻松。

想在早上5点开启你的咖啡机,并在准备好后收到消息吗?在Raspberry Pi和IFTTT的帮助下,Jenkins也可以做到这一点。

http://jenkins-ci.org/category/tags/tutorial