測試環境:
C:\>systeminfo | findstr /c:"OS Name" OS Name: Microsoft Windows Server 2008 R2 Enterprise |
很多人在Windows 2008里面創建任務計划執行bat文件的時候都會遇到這樣的問題:任務計划執行之后返回的狀態碼是0x1而不是正常的0x0
我今天也被這個問題給坑了,幾乎花了一天的時間來排錯。單獨執行bat腳本一切正常,在Windows 2003的任務計划里面執行bat腳本也沒有問題,但是只要放到Windows 2008的任務計划里面就不行。在國內、國外的網站上一通搜索,終於湊齊了所有的注意事項。步驟總結如下:
1、確認要執行任務計划的用戶的密碼沒有過期,條件允許的情況下可以設置成密碼永不過期,以免不必要的麻煩。
2、打開任務管理器,右鍵單擊 Task Scheduler Library,選擇 Create Task,這里千萬不能選擇 Create Basic Task
3、在 General 選項卡中選擇 Run whether user is logged on or not,並勾選 Run with highest privileges,然后從下拉列表里面選擇 Windows Server 2003,這里千萬不能選擇 Windows Server 2008
4、Triggers 選項卡中沒有什么特別的地方,按照自己的需求設置執行時間就行了。
5、Actions 選項卡中,Program/script 輸入框中填寫腳本名稱,這里千萬不要包含路徑。在 Start in 輸入框中填寫腳本所在的路徑,這里千萬不要加引號。
6、在bat腳本的結尾添加一行:
點擊(此處)折疊或打開
- exit /b 0
不顯式指定退出碼的話,任務計划會認為腳本執行失敗了。
window server 2012之前的版本執行計划任務不用設置路徑,
window server 2012之后的版本執行計划任務要設置路徑
批處理程序直接雙擊運行正常,但是放入windows定時任務運行時缺報錯誤代碼0x1
報錯原因 :程序和腳本中的批處理腳本帶目錄結構,但是起始於那里沒有配置批處理腳本所在目錄的路徑

在紅框處配置bat文件的路徑即可執行成功。
作者:SkTj
鏈接:https://www.jianshu.com/p/4f0f8bf07902
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。