我以这种方式从 Javascript 调用批处理文件:
function runBatch(){
var exe = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
exe.initWithPath("C:\\test.bat");
var run = Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
run.init(exe);
var parameters = ["hi"];
run.run(false, parameters,parameters.length);
}
我的测试批处理文件是:
echo on
echo %1
pause
exit
但是,每次我调用批处理文件时,都不会显示命令提示符,就像我只是从桌面运行批处理文件一样。我该如何解决这个问题并显示批处理文件的命令提示符?
编辑 要清楚,启动 cmd.exe 进程 - 我可以在任务栏中看到它。但是没有显示任何窗口。此代码段的行为类似:
function runCmd(){
var exe = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
exe.initWithPath("C:\\WINDOWS\\system32\\cmd.exe");
var run = Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
run.init(exe);
run.run(false, null,0);
}