Ich versuche, Befehlszeilenargumente aus der C# -Konsolenanwendung auszuführen.Befehlszeilenargumente mit Änderungsverzeichnis
-Code ist:
string[] MyArguments = { "/c", @"'C:\Program Files (x86)\salesforce.com\Data Loader\bin\process.bat'", "\"C:\\Program Files (x86)\\salesforce.com\\Data Loader\\samples\\conf\"", "accountMasterProcess" };
ProcessStartInfo startInfo = new ProcessStartInfo();
Process process;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = String.Join(" ", MyArguments);
process = Process.Start(startInfo);
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardOutput = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
process.OutputDataReceived += (sender, arg) => Console.WriteLine("received output: {0}", arg.Data);
process.Start();
//process.BeginOutputReadLine();
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
exitCode = process.ExitCode;
Console.WriteLine("output>>" + (String.IsNullOrEmpty(output) ? "(none)" : output));
Console.WriteLine("error>>" + (String.IsNullOrEmpty(error) ? "(none)" : error));
Console.WriteLine("ExitCode: " + exitCode.ToString(), "ExecuteCommand");
process.Close();
Ich habe keine Ergebnisse in cmd Fenster sehen. Die tatsächlichen Argumente in cmd Fenster ist:
C:\Program Files (x86)\salesforce.com\Data Loader\bin>process.bat "C:\Program Files (x86)\salesforce.com\Data Loader\samples\conf" accountMasterProcess
Bitte helfen
Was ist mit dem '/' vor C: \? –
Es war ein Fehler. Es hätte sein müssen, es als Befehl zu betrachten. Danke für das Zeigen – user4895544