如何将PHP或JavaScript变量传递给Windows cmd.exe

时间:2012-12-29 18:46:40

标签: php javascript

我的Windows 7计算机上有一个VBScript(.vbs)文件。要运行* .vbs文件,我必须通过传递参数从cmd执行它。 Ex(* .vbs arg1 arg2 arg3)。

我想从PHP或JavaScript运行此* .vbs文件。但争论应该是变量。 Ex($ a = arg1; $ b = arg2; $ c = arg3;)然后使用此变量传递给 .vbs。 Ex( .vbs $ a $ b $ c)。如何从JavaScript或PHP中完成。

4 个答案:

答案 0 :(得分:1)

您有几种PHP选择。您可以使用exec()或system()。我还建议在传入任何用户输入的值之前使用escapeshellarg()。

链接:
http://php.net/manual/en/function.exec.php
http://php.net/manual/en/function.system.php
http://php.net/manual/en/function.escapeshellarg.php

答案 1 :(得分:1)

我不知道您是否已经知道这一点,但在某些Windows服务器上(读取:所有Windows服务器),除非您将Apache服务作为实际可执行文件运行,否则将不允许直接与之交互你的桌面。

话虽如此,使用exec(),或者只是将查询放在反引号中,如下所示:

$query = `cmd.exe`;

答案 2 :(得分:0)

您可以使用:

  1. exec()函数并在其中编写命令。

  2. 或者在``(后退)操作符中包含要执行的cmd命令。

  3. 示例:

    $cmd=`xyz.vb $a $b $c`
    

    $ cms变量将具有脚本的输出。

答案 3 :(得分:0)

<?php 
$fname="C:/sendemail.vbs";
$id="vkvk1993@gmail.com";
$h="hi";
$s="hhhhhhhhhha";
$q="$fname $id $h $s";
if(exec($q));

echo "Done";

?>