C# 使用进程从shell获取CMD输出
我不知道这个问题是否有答案。。。 我知道使用C获取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, /
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的调用中的@。让我们从这个问题开始:请更新您的帖子,向我们显示您收到的虚拟输出。这可能有助于我们识别问题。我对虚拟输出的意思是,流程没有给出正确的结果。我认为它甚至没有运行。当我删除负责将流程结果输出到字符串的代码时,它工作正常