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

知道这为什么不管用吗?


当前回答

尝试以高权限运行任务。

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

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

其他回答

我摆弄了好几个小时,尝试了很多不同的建议。

我最终通过以下方法让它工作:

操作:启动一个程序 程序/脚本:C: \ scriptdir \ script.bat 添加参数(可选)script.bat 在(可选):c:\scriptdir中启动 仅在用户登录时运行 以最高权限运行 Windows Vista, Windows Server 2008

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

在Windows7 Pro下,我发现Arun的解决方案对我有用:我可以让它在“没有用户登录”的情况下工作,我确实选择了使用最高特权。

根据过去的经验,您必须有一个带有密码的帐户(空白密码是不好的),如果在您完成向导时程序没有提示您输入密码,请返回并编辑一些内容,直到它提示您输入密码!

这是方法,在情况下,它不清楚的工作

Action: start a program
Program/script : cmd
      (doesn't need the .exe bit!)
Add arguments:
    /c start "" "E:\Django-1.4.1\setup.bat" 

如果以上所有步骤都失败了,请确保您试图以用户身份运行任务的用户有权访问您试图使用的文件。

在我的情况下,我试图从C:\Users\Administrator\Desktop运行一个批处理文件,该帐户无法访问。将它移动到C:\的中立位置解决了这个问题。




我的脚本是从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