【问题标题】:Batch file running as a Scheduled Task won't run cURL作为计划任务运行的批处理文件不会运行 cURL
【发布时间】:2011-09-05 20:43:26
【问题描述】:

我编写了一个批处理文件,它使用程序 curl.exe 来下载数据库备份文件。当我通过双击运行它时,程序运行良好,但是当我使用schtasks 安排任务时,它不会识别 curl。

我马上认为它是PATH 变量,所以我更新了PATH 变量以指向curl 所在的目录,并通过从C:\ 运行curl 对其进行了测试。它在C:\ 上运行良好,但由于某种原因,当我运行计划任务时,它会启动批处理文件并且批处理文件显示“curl 未被识别为内部或外部命令、可运行程序或批处理文件。”

知道为什么会这样吗?

【问题讨论】:

    标签: curl batch-file scheduled-tasks


    【解决方案1】:

    来自 schtasks 的文档:

    /tr TaskRun :指定任务运行的程序或命令。键入可执行文件、脚本文件或批处理文件的标准路径和文件名。如果省略路径,SchTasks.exe 假定文件位于 Systemroot\System32 目录中。

    所以它似乎没有查看路径变量,即使它看起来最有意义。

    【讨论】:

    • 实际上 curl.exe 是从运行计划任务的批处理文件中引用的。所以任务正在运行 test.bat,而 test.bat 又在调用 curl.exe。批处理文件运行良好,直到到达调用 curl.exe 的行。
    • 哦等等,没关系,我想我误会了。我刚刚将 curl 移到 system32 中,它起作用了。谢谢!
    猜你喜欢
    • 2013-03-01
    • 2014-09-14
    • 2014-03-15
    • 2019-04-06
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多