Re: [请益] windows server2012 工作排程器问题

楼主: coflame (吾养吾浩然之气)   2017-10-14 10:32:29
※ 引述《garypayton5 (热情仲夏)》之铭言:
: 请问各位,
: 我写了几支程式,要使用windows server2012的工作排程器定期去执行,
: 总共有两支程式要执行,需要A工作完成才换B,
: 因为我看选项里面,没有可以这样设定的地方,
: 所以想请问是可以这样设置的吗?
: 谢谢大家。
虽然我有点困惑既然你都自行写程式了这种Job Control怎么不一起实作,
不过我简单说一下我个人实作的方式好了...
一般程式执行成功,理论上会return 0, 所以系统的 errorlevel原则上会是0
其他你则可粗略视为error,详细自行google: Windows ErrorLevel就会清楚
我简单举个例:
C:\User\User123\> dir
2017/09/27 下午 09:09 45 nuuid.ini
2016/08/23 上午 08:56 1,623,202 PanGPA.log
2016/08/23 上午 08:56 1,150 ServerCert.pan
2017/06/08 上午 12:07 7 test.txt
2016/01/23 上午 02:54 15,360 Thumbs.db
2015/11/30 上午 09:25 23 tt.bat
18 个档案 11,647,368 字节
0 个目录 5,285,150,720 字节可用
C:\Users\User123>echo %errorlevel%
0 <==代表执行正常
C:\Users\User123>dir /abc
参数格式不正确 - "bc".
C:\Users\User123>echo %errorlevel%
1 <==代表执行错误
这样应该看出差别了
以下范例
Main: jb.bat
Job1: jb01.exe
Job2: jb02.exe
@rem ====jb.bat===
@rem reset errorlevel to 0
@cd .
jb01.exe
if %errorlevel% neq 0 goto errorend
jb02.exe
if %errorlevel% neq 0 goto errorend
goto complete
:complete
@echo "Complete"
exit /B 0
:errorend
@echo "Error End"
exit /B 1
@rem ===end of jb.bat===
然后把 jb.bat丢到Windows排程工作就可以了
作者: lalelee (Yes We Can !)   2017-10-16 10:20:00
我没看到他有说:自己写了几只"程式",Control还要用排程您批次档有一定功力,谢谢你的分享,我也可以想想Posh怎么做

Links booklink

Contact Us: admin [ a t ] ucptt.com