Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Windows任务计划程序启动时,Doxygen未运行_Windows_Batch File_Task_Doxygen_Scheduler - Fatal编程技术网

使用Windows任务计划程序启动时,Doxygen未运行

使用Windows任务计划程序启动时,Doxygen未运行,windows,batch-file,task,doxygen,scheduler,Windows,Batch File,Task,Doxygen,Scheduler,我已经开始使用来记录我的团队的项目源代码(我们有C#、Objective-C和Android/Java项目)。我编写了一个Windows批处理脚本,用于检查每个项目的最新主干版本,并使用命令行Doxygen生成HTML文档站点,并发布到IIS 7已经托管的本地文件系统上的目录。这个批处理脚本工作得很好,完成了它所需要的一切,尽管它需要10-20分钟才能完全运行 现在,我正在尝试将这个过程自动化,以便它能在每天结束时运行。我添加了一个只运行批处理脚本的计划任务。除了Doxygen部分之外,脚本的每

我已经开始使用来记录我的团队的项目源代码(我们有C#、Objective-C和Android/Java项目)。我编写了一个Windows批处理脚本,用于检查每个项目的最新主干版本,并使用命令行Doxygen生成HTML文档站点,并发布到IIS 7已经托管的本地文件系统上的目录。这个批处理脚本工作得很好,完成了它所需要的一切,尽管它需要10-20分钟才能完全运行

现在,我正在尝试将这个过程自动化,以便它能在每天结束时运行。我添加了一个只运行批处理脚本的计划任务。除了Doxygen部分之外,脚本的每个部分似乎都正常工作。我可以登录到机器上,观察文件系统,看到工作副本被签出时没有问题,而且清理工作正常。但是,它从不生成Doxygen HTML输出。Doxygen配置为使用的输出/目标目录每次都将保持为空。我没有发现任何类型的错误消息(在计划任务和eventvwr中)。无论我是让任务调度器自己启动它,还是让它现在运行任务,它都不起作用。如前所述,我可以双击批处理文件并正常运行,这样一切都可以正常工作

这个过程是在我们的开发服务器上完成的,它是一个运行Windows Vista Business 32位的较旧的Dell工作站。虽然我也尝试过“本地服务”和我自己的Active Directory域帐户(这是此服务器上的管理员),但我在“系统”帐户上运行了计划任务,但它仍然不起作用

是否有其他人成功地使用任务调度器自动化了Doxygen?我不知道我做错了什么。下一步我应该找什么


如果需要,我可以发布我的批处理文件和Doxygen配置文件的稍微匿名版本。

在批处理文件中,尝试将Doxygen输出重定向添加到日志文件。然后通过调度程序运行它,查看生成了什么输出。如果doxygen以这种方式运行时遇到错误,您应该在日志文件中看到它

doxygen doxyfile > doxygen.log 2>&1
还要确保bat文件正确运行,即使是从doxygen文件所在目录以外的其他目录调用。在运行任务计划程序时,我认为当前目录将是c:\windows\system32,因此请尝试以下操作:

c:\windows\system32>c:\path\to\batchfile\mybatch.bat

如果出现路径错误,您必须修复它们。

我添加了您建议的内容,并创建了doxygen.log文件,但任务完成后该文件为空。我认为工作目录并不重要,因为我在所有东西上都使用了绝对文件路径,但我在CMD中从另一个工作目录手动运行它,效果很好。现在,我在计划任务的参数中添加了一个>batchLog.log,我将看一看。我的示例刚刚重定向了正常输出,错误输出仍然丢失。请参阅上面添加了
2>&1
的我的更新。这将包括在日志中的stderr输出。非常感谢,让它工作!问题是,当我登录时,doxygen的安装路径是我路径的一部分,但显然不是任务调度器中路径的一部分,因此它无法找到程序。我在批处理中用doxygen.exe的完整路径替换了它,它现在可以工作了。