我有一个批处理文件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关闭,我是管理员。

知道这为什么不管用吗?


当前回答

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.

其他回答

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

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

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

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

然后单击“确定”

这对我很管用。好运!

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

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

尝试以高权限运行任务。

在“start in folder”路径的末尾放置一个\,例如c:\temp\

我不知道为什么,但有时这对我很有效。




我的脚本是从master中提取最新的代码并发布一个新的分支

cd D:\dev\repo
git checkout master
git pull
git branch -D my-branch
git push origin --delete my-branch
git checkout -b my-branch
git push -u origin my-branch
exit

确保“开始”没有引号。