OS:Windows Server 2019数据中心 Web服务器:PHP 7.2.32
目标:Intranet需要在前景中为用户打开一个共享网络文件。
我正在尝试编写一个批处理文件,该文件将接收程序的路径以及我要打开的文件。
// PHP代码
$ execQuery ='c:/xampp/htdocs/openFile.bat“'。$ Program。'”“'。$ File。'” 2>&1';
$ output; $ return_var;
exec($ execQuery,$ output,$ return_var); // BAT文件调用的实际输出
var_dump($ output); print_r($ return_var);
// openFile.bat的代码
@ECHO OFF
设置程序=%1 设置FILE =%2
开始%PROGRAM%%FILE%
暂停
我尝试了$ execQuery字符串和批处理文件中的命令之间的各种变化。我已经尝试过使用“开始”或“ / F”(在前台打开),或者像在命令行中那样单独发布程序和文件,
例如,从命令行在前台运行文件: 开始“ c:/xampp/htdocs/openFile.bat”“ c:\ windows \ notepad.exe”“ \ nsfvms01 \ management \ test.txt” 2>&1
但是,从批处理文件运行时,所有这些变化都会在后台打开。叹气。
每个选项都可能因语法错误而失败,或者在后台打开记事本程序。
如何调整批处理文件,以使其在前台通过目标程序打开目标文件?