代码之家  ›  专栏  ›  技术社区  ›  Roshan Sankhe

如何使用php运行批处理文件?

  •  0
  • Roshan Sankhe  · 技术社区  · 6 年前

    如何在wamp服务器中执行批处理文件?在Xampp服务器上,我得到正确的结果,但在wamp服务器上,得到的结果为空。。

    $gotIt = array();
    $file111 = "C:/ABC/run.bat";
    //echo $file; exit;
    $kkk =  exec( $file111, $gotIt );
    //echo $kkk;
    $usr = implode("",$gotIt);
    echo '<pre>'; print_r($usr);exit;
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Community Ramakrishna.p    4 年前

    你试过这个吗?

    system("cmd /C X:[PATH_TO_BAT_FILE]", &$output);
    

    Where参数

    /C=执行字符串指定的命令,然后终止

    &$输出=返回值

    在你的情况下

    $gotIt = array();
    $file111 = "C:/ABC/run.bat";
    
    /** CMD cant return directly Array, but Text */
    $CMDOutput = "";
    system("cmd /C \"$file111\"", $CMDOutput);
     
    /** Split output as you want (With Token, with preg_match, ...) */
    $gotIt = mySplitFunction($CMDOutput);
    
    /** 
     * EX. with explode where first param is a token (delimiter)
     *
     * If $CMDOutput contains "Pietro, terracciano", with this
     * instruction you obtain 
     *     $gotIt = array(
     *         'Pietro', 'Terracciano'
     *     );
     */
    $gotIt = explode(',', $CMDOutput);
    
    /** ... */