1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| using System.Diagnostics;
string cmd = "echo Hello, World!";
string fileName = "/bin/bash"; string argument = "-c";
bool isWin = Environment.OSVersion.Platform.ToString().Contains("Win");
if(isWin) { fileName = "cmd.exe"; argument = "/c"; }
string escapedArgs = cmd.Replace("\"", "\\\"");
using (Process process = new Process()) { process.StartInfo = new ProcessStartInfo { FileName = "cmd.exe", Arguments = $"{argument} \"{escapedArgs}\"", RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true, };
process.Start();
string result = process.StandardOutput.ReadToEnd();
result.Display();
string error = process.StandardError.ReadToEnd();
error.Display();
process.WaitForExit(); }
|