命令行进程

时间:2014-02-07 07:29:15

标签: c# command-line process stanford-nlp

因此,在搜索完网页后,我发现了一些文章(一些关于stackoverflow),它描述了如何通过在c#中启动一个新进程来执行命令行提示。第二个论点,我已经注释掉了,效果很好,但我真正需要的那个(第一个)没有。它返回错误“无法找到或加载主类edu.stanford.nlp.parser.lexparser.LexicalizedParser”当我打开命令行(非编程)然后执行相同的命令(除了转义的引用)它效果很好。关于问题可能是什么的任何想法?谢谢!

var proc = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "CMD.exe",
        Arguments = "/c java -mx100m -cp \"*\" edu.stanford.nlp.parser.lexparser.LexicalizedParser edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz libtest.txt",
        // Arguments = "/c echo Foo", 
        UseShellExecute = false,
        RedirectStandardOutput = true,
        RedirectStandardError = true,
        CreateNoWindow = true
    }
};
proc.Start();

Console.WriteLine(proc.StandardOutput.ReadToEnd());
Console.WriteLine(proc.StandardError.ReadToEnd());

1 个答案:

答案 0 :(得分:1)

确保启动流程的执行路径正确无误!

您可以使用SysInternals中的Process Monitor来确定查找该类的位置。