我有一个批处理文件daily.bat,这是代码:

cd C:\inetpub\wwwroot\infoweb\factuur\cron
c:\PHP\php.exe -f ./cron_pdf.php
ftp -s:ftp_upload.txt ftp.site.be

我在Windows 7中用任务调度程序创建了一个任务。当我手动运行批处理时,一切正常,但当我尝试用任务调度程序运行它时,什么也没有发生。

我的行动是

'run script' "C:\inetpub\wwwroot\site\x\cron\daily.bat"

UAC关闭,我是管理员。

知道这为什么不管用吗?


当前回答

有一个问题,我的任务没有启动,只是因为它在没有电源线的笔记本电脑上运行……在条件选项卡下,默认情况下选中该选项,以便在交流电源未连接时任务不会运行。

其他回答

现在起作用了。这就是我所做的。你可能不需要所有这些步骤来让它工作,但只是为了确保尝试它们:

检查计划任务的帐户参数,并确保将它们设置为无论是否有人登录到计算机都将运行 使用大多数特权/权限检查运行 请确保先进入完整路径:cd C:\inetpub\wwwroot\infoweb\factuur\cron 不要在批处理文件中使用双引号(不知道为什么,但似乎有帮助) 作为超级管理员,在命令提示符中输入“网络用户administrator /active:yes”,注销后以超级管理员身份登录,UAC关闭

我遇到了同样的问题,但我找到了另一个解决方案,而无需修改批处理脚本。

我唯一错过的是在“操作”设置-“开始(可选)”选项。

进入任务属性——>动作选项卡——>编辑——>按如下方式填写:

操作:启动一个程序 程序/脚本:批处理脚本的路径,例如C:\Users\beruk\bodo.bat 添加参数(可选):<如果需要-取决于你的脚本> 起始位置(可选):将完整路径放到您的批处理脚本位置,例如C:\Users\beruk\(不要在起始位置周围加上引号)

然后单击“确定”

这对我很管用。好运!

对于那些bat文件仍然不能在Windows 8和10+任务调度器中工作的人,我想在Ghazi的回答中添加一件事-在经历了许多痛苦之后:

在操作中选择“创建基本任务”,而不是“创建任务”

这对我来说很管用,另外还有其他一些不能忘记的问题:

使用引号,如果你需要,在你的启动程序>程序/脚本条目即“C:\my scripts\runme.bat”(或只是使用浏览按钮)… 使用Start In路径到你的批处理文件,即使它说可选-但不要在Start In字段中使用引号。(这很疯狂,但却是事实!)

这种方法不需要触发命令提示符。这是最快最简单的方法。

(对不起,我的代表太低了,不能把我的基本任务提示添加到Ghazi的评论中)

我把这个问题的答案贴在这里和这里。

Please check which user account you use to execute our task. It may happen that you run your task with different user then your default user, and this user requires some extra privileges. Also it may happen that the task is executed but you cant see any effect because the batch file waits for some user response so please check task manager if you see your process running. Once it happen that I schedule a batch with svn update of some web page and the process hangs because svn asked for accepting server certificate.