我的 Windows 7 机器上有一个 VBScript (.vbs) 文件。要运行该 *.vbs 文件,我必须通过传递参数从 cmd 执行它。例如(*.vbs arg1 arg2 arg3)。
我想从 PHP 或 JavaScript 运行这个 *.vbs 文件。但是参数应该通过变量。Ex ($a=arg1; $b=arg2; $c=arg3;) 然后使用这个变量传递给那个.vbs。例如( .vbs $a $b $c)。如何做到这一点,从 JavaScript 或 PHP。
我的 Windows 7 机器上有一个 VBScript (.vbs) 文件。要运行该 *.vbs 文件,我必须通过传递参数从 cmd 执行它。例如(*.vbs arg1 arg2 arg3)。
我想从 PHP 或 JavaScript 运行这个 *.vbs 文件。但是参数应该通过变量。Ex ($a=arg1; $b=arg2; $c=arg3;) 然后使用这个变量传递给那个.vbs。例如( .vbs $a $b $c)。如何做到这一点,从 JavaScript 或 PHP。
我不知道您是否已经意识到这一点,但是在某些 Windows 服务器上(阅读:所有 Windows 服务器),除非您将 Apache 服务作为实际的可执行文件运行,否则不允许它直接与您的桌面交互。
话虽如此,请使用 exec(),或者简单地将您的查询放在反引号中,如下所示:
$query = `cmd.exe`;
您有几个使用 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。转义shellarg.php
<?php
$fname="C:/sendemail.vbs";
$id="vkvk1993@gmail.com";
$h="hi";
$s="hhhhhhhhhha";
$q="$fname $id $h $s";
if(exec($q));
echo "Done";
?>
您可以使用 :
exec()
函数并在其中写入命令。
或者将要执行的 cmd 命令包含在``(反勾号)运算符中。
例子:
$cmd=`xyz.vb $a $b $c`
$cms 变量将具有脚本的输出。