【问题标题】:Capture output of cmd query from Wscript.Shell run method从 Wscript.Shell 运行方法捕获 cmd 查询的输出
【发布时间】:2013-07-18 08:23:43
【问题描述】:

我正在使用以下代码来执行合并操作。此命令启动子进程(手动合并工具)。但无法打开使用此代码的子进程。 但我得到错误和输出流

WshShell = new ActiveXObject("WScript.Shell");
var launch="tf merge $/Alpha/Dev $/Alpha/Main /recursive /version:C4264~C4264";
var cmdRun = WshShell.Exec(launch);

但是当我使用以下代码时,子进程就会启动。但是一旦操作完成,窗口就会关闭。但我无法获得任何输出或错误流。

WshShell = new ActiveXObject("WScript.Shell");
var launch="tf merge $/Alpha/Dev $/Alpha/Main /recursive /version:C4264~C4264";
var cmdRun = WshShell.run(launch,1,1);

如何在仍然使用 Run() 方法的同时获得命令行查询的输出?????

【问题讨论】:

    标签: shell command-line wsh


    【解决方案1】:
    var WshShell = new ActiveXObject("WScript.Shell");
    var WshExec = WshShell.Exec("nslookup");
    var InStream = WshExec.StdIn;
    InStream.writeLine("help");
    InStream.writeLine("exit");
    var OutStream = WshExec.StdOut;
    var Str = "";
    while (!OutStream.atEndOfStream) {
        Str = Str + OutStream.readAll();
    }
    WScript.Echo(Str);
    

    【讨论】:

    • 我将WScript.Echo(Str); 替换为alert(Str); 瞧!
    猜你喜欢
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 2013-01-16
    • 1970-01-01
    • 2019-02-23
    相关资源
    最近更新 更多