Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用进程从shell获取CMD输出_C#_Shell_Process_Cmd_Output - Fatal编程技术网

C# 使用进程从shell获取CMD输出

C# 使用进程从shell获取CMD输出,c#,shell,process,cmd,output,C#,Shell,Process,Cmd,Output,我不知道这个问题是否有答案。。。 我知道使用C获取CMD进程的输出可以通过以下几行轻松完成: Process process = Process.Start(new ProcessStartInfo() { FileName = "cmd.sh", Arguments = string.Format(@"net use {0} && dir {0}", path), UseShellExecute = false, /

我不知道这个问题是否有答案。。。 我知道使用C获取CMD进程的输出可以通过以下几行轻松完成:

Process process = Process.Start(new ProcessStartInfo()
    {
        FileName = "cmd.sh",
        Arguments = string.Format(@"net use {0} && dir {0}", path),
        UseShellExecute = false,    ///this is the problem
        RedirectStandardOutput = true,
        RedirectStandardError = true,
        CreateNoWindow = true
    });

我的问题是我想运行一个shell脚本而不是.exe文件,但是当我将UseShellExecuteto设置为false时,我从shell获得了一个虚拟输出,并且shell脚本无法正常工作。。。那么,有什么方法或建议来处理这样的事情吗?

您是否使用Process.StandardOutput来读取进程的输出?@fourpastmidnight是的,Sir逐字字符串操作符是否可以取消对string.Format调用中大括号的转义,但是,我想您会遇到FormatException?尝试删除对string.Format的调用中的@。让我们从这个问题开始:请更新您的帖子,向我们显示您收到的虚拟输出。这可能有助于我们识别问题。我对虚拟输出的意思是,流程没有给出正确的结果。我认为它甚至没有运行。当我删除负责将流程结果输出到字符串的代码时,它工作正常