测试环境:

C:\>systeminfo | findstr /c:"OS Name"
OS Name:                   Microsoft Windows Server 2008 R2 Enterprise

很多人在Windows 2008里面创建任务计划执行bat文件的时候都会遇到这样的问题:任务计划执行之后返回的状态码是0x1而不是正常的0x0

Windows 2008任务计划执行bat脚本失败返回0x1-LMLPHP

我今天也被这个问题给坑了,几乎花了一天的时间来排错。单独执行bat脚本一切正常,在Windows 2003的任务计划里面执行bat脚本也没有问题,但是只要放到Windows 2008的任务计划里面就不行。在国内、国外的网站上一通搜索,终于凑齐了所有的注意事项。步骤总结如下:

1、确认要执行任务计划的用户的密码没有过期,条件允许的情况下可以设置成密码永不过期,以免不必要的麻烦。

Windows 2008任务计划执行bat脚本失败返回0x1-LMLPHP

2、打开任务管理器,右键单击 Task Scheduler Library,选择 Create Task,这里千万不能选择 Create Basic Task

Windows 2008任务计划执行bat脚本失败返回0x1-LMLPHP

3、在 General 选项卡中选择 Run whether user is logged on or not,并勾选 Run with highest privileges,然后从下拉列表里面选择 Windows Server 2003,这里千万不能选择 Windows Server 2008

Windows 2008任务计划执行bat脚本失败返回0x1-LMLPHP

4、Triggers 选项卡中没有什么特别的地方,按照自己的需求设置执行时间就行了。

Windows 2008任务计划执行bat脚本失败返回0x1-LMLPHP

5、Actions 选项卡中,Program/script 输入框中填写脚本名称,这里千万不要包含路径。在 Start in 输入框中填写脚本所在的路径,这里千万不要加引号。

Windows 2008任务计划执行bat脚本失败返回0x1-LMLPHP

6、在bat脚本的结尾添加一行:

点击(此处)折叠或打开

  1. exit /b 0

不显式指定退出码的话,任务计划会认为脚本执行失败了。
10-09 14:26