测试环境:

C:\>systeminfo | findstr /c:"OS Name"

OS Name: Microsoft Windows Server 2008 R2 Enterprise

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

windows计划任务执行python不执行 计划任务无法执行bat_Windows

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

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

windows计划任务执行python不执行 计划任务无法执行bat_任务计划_02

中文系统是 密码永不过期选项

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

windows计划任务执行python不执行 计划任务无法执行bat_任务计划_03

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

windows计划任务执行python不执行 计划任务无法执行bat_bat脚本_04

中文系统对应如下图

windows计划任务执行python不执行 计划任务无法执行bat_bat脚本_05

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

windows计划任务执行python不执行 计划任务无法执行bat_bat脚本_06

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

windows计划任务执行python不执行 计划任务无法执行bat_任务计划_07

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

点击(此处)折叠或打开

exit /b 0

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

window server 2012之前的版本执行计划任务不用设置路径

window server 2012之后的版本执行计划任务要设置路径

批处理程序直接双击运行正常,但是放入windows定时任务运行时缺报错误代码0x1

报错原因 :程序和脚本中的批处理脚本带目录结构,但是起始于那里没有配置批处理脚本所在目录的路径

以上就是Windows 2008任务计划执行bat脚本失败返回0x1的解决方法的详细内容