C#从控制台应用程序调用EXE

时间:2017-08-25 00:14:07

标签: c# console-application

我有一个控制台应用程序可以做很多事情。其中一个步骤涉及调用EXE(AzCopy)。我已在提示符中成功运行此类型命令,它看起来像这样:

AzCopy /Source:https://mysite.table.core.windows.net/MYTABLE/ /SourceKey:SOURCEKEY /Dest:C:\export /Manifest:MYTABLE

我需要在控制台应用程序执行过程中运行此脚本。我已经看到了许多不同的方法,但似乎都没有。我试过这个:

System.Diagnostics.Process.Start("CMD.exe", command);

而且:

var procStartInfo = new ProcessStartInfo("AzCopy", command);

而且:

var p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = command;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();

似乎没有实际启动AzCopy调用。是什么给了什么?

1 个答案:

答案 0 :(得分:0)

using (var streamReader = new StreamReader(fileName)) { using (var jsonReader = new JsonTextReader(streamReader)) { var serializer = new JsonSerializer(); return jsonConverter == serializer.Deserialize<IList<T>>(jsonReader); } } 应该有效。

但您需要在命令的开头添加System.Diagnostics.Process.Start("CMD.exe", command);

这样的事情:

/C