当前位置: 首页 > 知识库问答 >
问题:

手动批处理运行良好。但是当从任务调度程序运行时会出现错误

高皓
2023-03-14

在Windows Server 2008上,我正在安排一个任务来运行批处理文件,这反过来又会触发控制台应用程序。当双击应用程序时,它运行完美。但是当从任务调度程序运行时,我在日志中收到了以下错误。

来自hresult 0x800a03ec的异常

我登录并运行任务调度程序时使用的ID具有完全的管理员权限。

我尝试过这些解决方案。批处理文件手动运行,但不在任务调度程序中运行

计划任务调用的批处理文件在计划时抛出错误,双击时运行正常

批处理手动运行,但不在计划任务中

但问题没有得到解决。事实上,当从任务计划程序运行时,它会在控制台应用程序中触发成功邮件和异常邮件。但是,手动运行时并非如此。需要帮助!!

注意:我通过控制台应用程序处理的所有输出报告都将采用. xlsx格式。

批处理文件如下所述

@ECHO. 
@ECHO /***************************************************************/ 
@ECHO               Report Application 
@ECHO /**************************************************************/
@For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @( 
            Set Month=%%A
            Set Day=%%B
                Set Year=%%C
)

 SET DRV=E:\ReportApplication
cd %DRV%\bin\Release\

ReportSolution.exe >> %DRV%\Log\ReportSolutionlog%Month%%DAY%%Year%.txt
cd\
cd %DRV%


@ECHO  Application is completed successfully
@ECHO /**********************************************/

共有2个答案

苏宏逸
2023-03-14

以下两行可能是一个问题:

SET DRV=E:\ReportApplication
cd %DRV%\bin\Release\

没有参数< code>/D的< code>cd不会改变当前驱动器。因此,在使用任务计划程序运行批处理文件时,当前工作目录通常是< code>C:\Windows\System32,目录更改不起作用,并且< code > % SystemRoot % \ System32 (这样更好)仍然是当前工作目录。

双击批处理文件时,Windows 会将批处理文件的目录设置为当前工作目录。当工作批处理文件位于驱动器 E: 上时,双击该文件时,这将导致该文件。

解决方法是:

SET "DRV=E:\ReportApplication"
cd /D "%DRV%\bin\Release\"
顾光明
2023-03-14

问题终于解决了。我不认为批处理文件或应用程序有任何问题。

此解决方案位于...

Windows 2008服务器x64

请创建此文件夹。

c:\ Windows \ sys wow 64 \ config \ system profile \ Desktop

・Windows 2008服务器x86

请创建此文件夹。

C:\Windows\System 32\config\system profile\Desktop

...而不是dcomcnfg.exe.

此操作消除了系统中的办公自动化问题。

在systemprofile文件夹中似乎需要一个桌面文件夹,以便用Excel打开文件。

它从Windows2008中消失,Windows2003有文件夹,我认为它会导致此错误。

我在下面提到的链接中找到了这个答案。小川的回答。

https://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64?forum=innovateonoffice

但我不知道如何通过创建一个空文件夹来解决这个问题。但它的工作原理..希望这对有类似问题的人有帮助

 类似资料:
  • 问题内容: 我有一个批处理文件,它将搜索一个Java进程并将其杀死。当bat文件在命令提示符下运行时,脚本可以正常工作。但是,当我尝试在任务计划程序中执行时,它不起作用。 我选择了“无论用户是否登录都运行”选项 我的批处理文件如下所示: 我还尝试了此链接中提到的所有内容 批处理手动运行,但不在计划任务中运行 还有其他建议。 注意:我还有另一个批处理文件来存档文件,该文件可以在任务计划程序中使用相同

  • 问题内容: 我一般不写batches,但是我现在有一个batch使用forfiles我的FLV文件从一个文件夹复制到另一个。当我手动运行批处理时,它每次都能工作,但是从计划的任务中,会引发(0x1)错误。 不确定预定任务不喜欢哪种语法。 更新资料 在我的预定任务“动作”下,我有以下内容: 问题答案: 当我的Start in (optional):路径是UNC路径时,它将不起作用。因此,我将批次移至

  • 我在任务计划程序中计划了一个批处理文件。如果我从CMD手动运行此批处理文件,它将很好地完成所有工作,大约需要20分钟。但是,如果我在任务计划程序中计划它,它在开始运行时立即完成,并显示结果是“成功完成”。(VBS 没有运行...)此批处理文件将调用 2 个 vbs 脚本来运行。我不确定任务计划程序是否有问题,或者只是批处理文件在那里得到错误的代码。 我在日志文件中得到了错误信息 我只从任务调度器得

  • 我正在尝试在server 2012任务计划程序中计划bcp作业。当我双击批处理文件时,它工作正常。它包括以下行: 该文件是从命令行创建的。调度程序具有: < li >操作:启动一个程序 < li >脚本:< code > D:\ DATA \ my batch . bat < li >开始于:< code>D:\Data 我正在为其他计划任务使用相同的帐户,它们运行良好。

  • 我正在尝试创建计划任务以运行批处理文件。我知道我的批处理文件运行良好,因为手动运行它没有问题。但是,当任务调用它时,它会说它正在运行,但它不是。我知道它没有运行的原因是它调用了一个python脚本,python脚本发送了一封电子邮件,告诉我进程已经开始了。我没有收到那封电子邮件。python进程不会花费太长的时间(最多5分钟),而且任务一直说它在一小时后“运行”。 我有当前设置与运行用户是否登录或

  • 我正在尝试自动登录到2008 R2服务器上的一组RDP客户端,当从桌面双击批处理文件时,下面的批处理工作正常,但是当将.bat文件设置为作为任务调度程序中的任务运行时,什么都没有发生 计划任务被设置为在管理员帐户下运行(只有一个可用),并且(开始于)可选字段也被设置为“C:\Users\Administrator\Desktop”。