Windows计划任务成功但返回结果0x1

时间:2013-08-22 02:05:24

标签: scheduled-tasks

我在Windows 2008 R2服务器上有计划任务。该任务包括Start In目录条目。该任务运行,它运行的批处理文件执行它应该执行的操作。当我从命令提示符运行批处理文件时,我看不到任何错误。问题是“上次运行结果”是0x1(函数调用不正确)。

我确实一次得到了这个错误的DOS语句IF EXISTS file.txt DO (Copy file.txt file1.txt),它通过删除DO语句得到纠正。当前批处理文件不会显示任何错误或警告。

为什么我会收到0x1结果?

运行的批处理文件:

PUSHD \\JUKEBOX4\Archives\CallRecording
REM only move csv and wma together.  wma should be created last.
IF NOT EXIST C:\CallRecording (MKDIR C:\CallRecording)
FOR /f %%f IN ('DIR /b *.wma') DO (
    IF EXIST %%~nf.csv (MOVE /Y %%~nf.* C:\CallRecording\)
)
POPD
CD /D "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload"
CollybusUpload.exe
POPD

有关预定任务设置的信息:

  • 要运行的程序:C:\Program Files (x86)\Olim, LLC\Collybus DR Upload\CallRecordingUploadFromH.cmd
  • 开始于:C:\Program Files (x86)\Olim, LLC\Collybus DR Upload
  • 运行用户是否已登录,具有最高权限。

历史记录屏幕,任务完成条目

  

“任务计划程序成功完成任务”\呼叫记录从NH“上传到门户”,实例“{1449ad42-2210-427a-bd69-2c15e35340e6}”,操作“C:\ Windows \ SYSTEM32 \ cmd.exe”返回代码1。“

任务计划程序的第一个屏幕显示“成功”的“运行结果”

12 个答案:

答案 0 :(得分:28)

似乎很多用户都遇到了这个问题。以下是一些修复:

  • 右键点击您的任务> “属性”> “行动”> “编辑”| 只将文件名放在“程序/脚本”下,没有引号,只有“开始时”下的目录,如上所述,再没有引号。

  • 右键点击您的任务> “属性”> “一般” |使用以下任何/所有测试:

    1. “以最高权限运行”(测试两个选项)
    2. “运行wheter用户是否登录”(测试两个选项)
    3. 检查“Configure for”是否设置为机器的操作系统版本
    4. 确保运行该程序的用户帐户具有正确的权限

答案 1 :(得分:2)

我发现我已经勾选了#34;运行用户是否登录"它会返回一个无声的失败。

当我更改tick"仅在用户登录时运行"相反,它对我有用。

答案 2 :(得分:2)

我遇到了同样的问题。它只是一个批处理文件,在手动启动时工作,但不能用作计划任务。

批处理文件中有驱动器号,如下所示:

put z:\folder\file.ext

好像你不应该使用驱动器字母,它们与创建它们的用户绑定 - 对我来说这个小改动使它再次起作用:

put \\server\folder\file.ext

答案 3 :(得分:1)

这个答案最初由提问者编辑成问题。

问题是批处理文件WAS抛出了一个无声错误。最终的POPD没有做任何工作,没有打开PUSHD而被错误地调用。

代码破碎:

CD /D "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload" CALL CollybusUpload.exe POPD

正确的代码:

PUSHD "C:\Program Files (x86)\Olim, LLC\Collybus DR Upload" CALL CollybusUpload.exe POPD

答案 4 :(得分:1)

Windows任务计划程序(Windows server 2008r2)

我的错误(上次运行结果:0x1)

<强>标签

  1. 操作:删除
  2. 中的引号/双引号
      

    程序/脚本

      

    开始

    即使路径名中有空格......

    1. 将军:
    2.   

      以最高权限运行

        

      为您的操作系统配置...

      现在可以了!

      上次运行结果:操作成功完成

答案 5 :(得分:0)

我发现问题与Powershell无法运行脚本有关,如果是这种情况,here就是解决方案。

答案 6 :(得分:0)

我在任务调度程序中运行了一个PowerShell脚本,但我忘了在一个提升的PowerShell控制台中启用执行策略不受限制:

Set-ExecutionPolicy Unrestricted

之后,错误消失(0x1)。

答案 7 :(得分:0)

在我们的服务器上,这是系统路径的问题。升级PHP运行时(使用其名称包含版本号的安装目录)并更新系统变量PATH中的路径后,我们获得状态0x1。系统重启纠正了该问题。重启Task Manager服务也可能已经完成了。

答案 8 :(得分:0)

对于Powershell脚本

在多个Windows服务器上使用参数调度Powershell脚本时,我多次遇到此问题。 解决方案一直是使用-File参数:

  1. 在“操作”->“程序/脚本”下,键入:“ Powershell”
  2. 在“添加参数”下,而不是仅键入“ C:/script/test.ps1”,请使用-File“ C:/script/test.ps1”

排程愉快!

答案 9 :(得分:0)

这里也有同样的问题。就我而言,蝙蝠文件的空格为“” 删除文件名中的空格并更改为下划线后,bat文件起作用了

无法开始采样

  

“ x:\ Update&pull.bat”

重命名后

  

“ x:\ Update_and_pull.bat”

答案 10 :(得分:0)

就我而言,这是一个编码问题。我们想启动现有的批处理文件,结果是“返回代码 1”,并且没有执行所需的操作。我偶然发现批处理文件在记事本中显示为 UTF-8 编码(实际上没有任何原因,因为我们在文本中没有特殊字符)。我把它保存为ANSI,它为我们解决了问题。可能是文件中的一种编码损坏导致 Task Scheduler 和 cmd.exe 无法打开该文件,尽管它在记事本中可以正确显示。

答案 11 :(得分:-1)

事实证明,使用winscp的FTP下载调用作为批处理中的最后一件事导致了问题。插入echo命令后,它工作正常。猜猜问题源可能是winscp.exe,它没有正确地向操作系统报告当前任务的结束。

del "C:\_ftpcrawler\Account Export.csv" /S /Q

"C:\Program Files (x86)\WinSCP\WinSCP.exe" /console /script="C:\_isource\scripte\data.txt"

echo Download ausgeführt am %date%%time% >> C:\_isource\scripte\data.log