如何在使用 nsIProcess 运行文件时隐藏命令提示符窗口.bat
How to hide command prompt window while running .bat file using nsIProcess?
我的代码:
var fpath="C:''TVT_"+cur_date+"_"+cur_time+".avi";
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var env = Components.classes["@mozilla.org/process/environment;1"]
.getService(Components.interfaces.nsIEnvironment);
var shell = new FileUtils.File(env.get("COMSPEC"));
var args = ["/c", "cd.. & cd.. & C: & cd C:/ffmpeg/bin & record.bat "+fpath];
var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(shell);
process.runAsync(args, args.length);
当我通过此代码执行批处理文件时,始终显示命令提示符窗口提示符。
有没有办法隐藏该窗口并静默运行批处理?
使用 Windows XP 和 Firefox 12.0
谢谢。。
我不认为Firefox可以在没有控制台窗口的情况下运行批处理文件。但是,这可以通过 WshShell.Run()
使用 Windows 脚本主机(intWindowStyle
参数必须为 0)。你需要一个 JScript 文件,例如 record.js
内容:
var dir = WScript.ScriptFullName.replace(/['/'']+[^'/'']*$/, "");
var Shell = WScript.CreateObject("Wscript.Shell");
Shell.CurrentDirectory = dir;
Shell.Run("record.bat", 0, true);
此脚本从其自己的路径推断目录,并在同一目录中运行record.bat
。然后,您可以像这样运行此脚本:
var script = new FileUtils.File("c:''ffmpeg''bin''record.js");
var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(script);
process.runAsync([], 0);
要运行批处理,请在其第一行静默添加@echo off
。
相关文章:
- 如何隐藏剑道网格命令的编辑按钮或删除按钮
- 是否可以使用WSH javascript sendKeys方法将Alt+Space发送到命令提示符
- 如何在命令提示符下运行js文件
- 当用户在命令提示符中选择任何字符串时,节点Js不为任何请求提供服务
- 使用JQuery隐藏Kendo ui命令列
- 如何在 JavaScript 中的命令提示符下进行操作
- 如何在使用 nsIProcess 运行文件时隐藏命令提示符窗口.bat
- 如何从javascript调用命令提示符
- 使用 Javascript 在命令提示符下提示用户输入
- 量角器将浏览器名称从命令提示符传递到 conf.js
- 如何通过扩展命令显示/隐藏chrome的选项卡或导航按钮
- 如何从php执行命令提示符
- node.js应用程序从命令提示符下运行,但不能直接运行
- 是否可以从批处理文件(命令提示符)中使用uglifyjs ?如果有,怎么做呢?
- 使用onclick命令隐藏DIV元素
- 从命令提示符运行JSLint
- Javascript命令执行提示符和文档.writeln语句
- 想要隐藏命令提示符窗口在使用WshShell.Exec方法
- 命令提示符-无法使用javascript创建ActiveX对象
- MeteorJS如何从命令提示符添加用户