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