【问题标题】:Change current working directory from batch file and run script从批处理文件更改当前工作目录并运行脚本
【发布时间】:2013-09-25 05:57:19
【问题描述】:

在 Windows 8 中: 我有一个 php 文件,需要通过 .bat 文件从计划任务运行。 PHP 位于:P:\php\php.exe 要运行的文件位于:W:\folder\file.php

我的 .bat 文件如下所示:

cmd /c p:\php\php.exe w:\folder\file.php

它不运行。当我打开 cmd 并切换到文件夹并从那里运行它时,文件会正确执行。

即:W:\folder> p:\php\php.exe w:\folder\file.php

我必须向导航到此 w:\folder 的 .bat 文件添加一些内容并以相同的方式执行它,但我不知道是什么。我尝试了其他帖子(回复),即: How to change current working directory using a batch file

但它没有任何效果。谁能帮我为 .bat 文件编写正确的命令?

【问题讨论】:

  • "p:\php\php.exe" "w:\folder\file.php"

标签: batch-file scheduled-tasks command-prompt


【解决方案1】:

这就是我解决问题的方法,试试这个:

cd p:\php\
p:
php.exe w:\folder\file.php

这似乎行得通。

【讨论】:

    【解决方案2】:

    这也可能有效:

    @echo off
    cd /d "w:\folder"
    "p:\php\php.exe" "file.php"
    

    【讨论】:

    • ..感谢您的回复。我已经在另一个方面看到了这种响应,我相信它对于所有旧的 Win 系统都是正确的。再次感谢你。 ~m
    • 你试过了吗?这是一种适用于任何 Windows NT 类系统的语法,包括 Windows 8.1
    • ..嗨,你说得对,你的语法与上面提到的帖子与另一篇文章略有不同。由于我只能接受一个答案,因此我投票赞成您的评论。谢谢。
    • 为了好奇,/d 参数有什么作用?什么时候需要?
    • @MathiasLykkegaardLorenzen cd 命令可以更改任何驱动器上的工作目录,/d 开关会更改当前驱动器以匹配您正在更改文件夹的驱动器。它可以与每个 CD 命令一起使用 - 除非您故意更改另一个驱动器上的工作目录而不打算在该驱动器上。
    【解决方案3】:

    你可以试试这个:

    start "" /d "w:\folder" /b "p:\php\php.exe" file.php
    

    【讨论】:

    • ..谢谢,我会在早上的第一件事尝试并告诉你。
    • 是的!这行得通。我已经尝试了各种变体和可能性,这是唯一真正有效的语法!为了完整起见,系统是WIN 8。
    猜你喜欢
    • 2011-07-05
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 2013-11-17
    • 1970-01-01
    相关资源
    最近更新 更多