阅读StandardOutput问题

时间:2011-03-09 13:48:44

标签: c# javascript stdout redirectstandardoutput

我想执行一个返回类似'GEORGE SMITH'的字符串的javascript。我想读取该信息但是当运行此代码时,我得到:“指定的可执行文件不是有效的Win32应用程序”

我如何捕获这些信息?我试图从.bat调用javascript,但我无法从那里获得输出。任何人都可以帮助我吗?。

这是代码:

{
    Process proc = new Process();

    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.CreateNoWindow = true;
    startInfo.UseShellExecute = false;
    startInfo.RedirectStandardOutput = true;
    startInfo.FileName = "cardholder.js";
    startInfo.WindowStyle = ProcessWindowStyle.Hidden;
    proc.StartInfo = startInfo;
    proc.Start();

    nombreApellido = proc.StandardOutput.ReadToEnd();

    proc.Close();
    proc.Dispose();
}

2 个答案:

答案 0 :(得分:2)

javascript文件不是可执行文件,您无法运行它。

您需要运行wscript.exe并将cardholder.js作为命令行参数传递:

startInfo.FileName = "wscript.exe";
startInfo.Arguments= "cardholder.js";

答案 1 :(得分:0)

cardholder.js不是可执行文件。您的startInfo.FileName需要是可执行文件。您将需要一个javascript解释器来“运行”.js文件。