我已经开始使用Doxygen来记录我团队的项目源代码(我们有C#,Objective-C和Android/Java项目)。我编写了一个Windows批处理脚本,该脚本检出每个项目的最新中继版本,并使用命令行Doxygen生成HTML文档站点并发布到IIS 7已经托管的本地文件系统上的目录。这个批处理脚本完美地工作,并完成所需的一切,但需要10-20分钟完成。使用Windows任务调度程序启动时,Doxygen没有运行
现在我试图自动化这个过程,以便它在每天结束时运行。我添加了一个只运行批处理脚本的计划任务。脚本的每个部分似乎都起作用,除了Doxygen部分。我可以登录到计算机并观察文件系统,并看到工作副本正在检出,没有问题,清理工作正常。但是它从来不会生成Doxygen HTML输出。输出/目标目录Doxygen配置为使用将每次保持空。我找不到任何类型的错误消息(在Scheduled Tasks和eventvwr中)。无论我是让任务调度程序自行启动还是告诉它现在运行任务,它都不起作用。如前所述,我可以双击批处理文件并正常运行,一切正常。
该过程在我们的开发服务器上完成,它是运行Windows Vista Business 32位的较旧的戴尔工作站。虽然我也尝试过使用“本地服务”和我自己的Active Directory域帐户(它是此服务器上的管理员),但它仍然无法运行,所以我在“系统”帐户上运行了计划任务。
其他人是否已成功使用任务计划程序自动化Doxygen?我不知道我在做什么错。接下来我应该寻找什么?
如果需要,我可以发布我的批处理文件和Doxygen配置文件的略微匿名版本。
我添加了您建议的内容,并创建了doxygen.log文件,但是一旦任务完成,它就会变为空。我不认为工作目录很重要,因为我对所有的东西都使用了绝对文件路径,但是我从一个不同的工作目录手动在CMD中运行它,并且它工作正常。现在我将一个> batchLog.log添加到计划任务的参数中,然后我会看一看。 – 2012-03-08 19:18:03
我的例子只是重定向了正常输出,错误输出仍然丢失。上面加上'2>&1'来查看我的更新。这也将包括日志中的stderr输出。 – 2012-03-08 19:35:06
非常感谢,让它工作!问题是,当我登录时,doxygen的安装路径是我PATH的一部分,但显然不是任务调度程序中PATH的一部分,所以无法找到该程序。我在批处理中将其替换为doxygen.exe的完整路径,现在它可以工作。 – 2012-03-08 19:58:37