我有文件可以执行某些操作,如果我手动运行该文件,它可以正常工作,但在任务调度程序中设置时它不会运行。
批处理文件位于 Windows 7 桌面上的文件夹中。
任何反馈都会有所帮助。
我什至试过这个链接解决方案不起作用。
我有文件可以执行某些操作,如果我手动运行该文件,它可以正常工作,但在任务调度程序中设置时它不会运行。
批处理文件位于 Windows 7 桌面上的文件夹中。
任何反馈都会有所帮助。
我什至试过这个链接解决方案不起作用。
在这种情况下,您很可能需要确保脚本运行所在的目录(“开始于”)设置正确。通常这是包含您的脚本的同一目录。您可以在计划任务的属性中进行设置。
我不知道这是否会有所帮助,但是在一个接一个地解决一个问题太多小时后,我终于让自己的批处理文件作为计划任务正常工作。我在这个过程中学到的一些东西:
如果您的批处理文件的一部分设置了一个变量并包含一个“FOR”循环,该循环调用您希望在其中更改变量的子例程,您需要确保该变量在批处理文件中尽早初始化。也就是说,像这样:
IF ... (
SET %flag=0
FOR ... (CALL :subr)
IF [%flag%] EQU [1] ( main scheduled-task command goes here)
)
GOTO :eof
:subr
IF ... (SET %flag=1)
:eof
--从命令行工作,但不是作为计划任务。我必须在第一个 IF 之前移动 %flag 的初始化。
作为测试,尝试将 .bat 文件移动到具有基本权限的目录(例如,可能是共享目录)。
我和你有同样的问题。我的 .bat 文件位于具有一些限制性权限的文件夹中,因此只有我的用户帐户可以访问它。即使我已将任务计划程序设置为使用我的凭据,它仍然失败。将 .bat 文件移动到另一个目录可以解决问题。