我在DOS中有大约7个命令,我想在我的C#程序中运行它们.我可不可以做:
System.Diagnostics.Process.Start("cmd.exe","my more commands here");
?
编辑:
我正在制作小应用程序将运行g.这现在是正确的吗?:
System.Diagnostics.Process.Start("cmd.exe","/k cd C:\\Alps\\compiler\\ /k g++ C:\\Alps\\" + project_name + "\\Debug\\Main.cpp");
编译命令:
g++ -c C:\Alps\here_is_projectname\Debug\Main.cpp -o main.o
解决方法
cmd.exe /k <command> cmd.exe /c <command>
都是有效的.
> / k将执行命令并给你一个空提示(如果你只是想执行反馈,可能在你的应用程序中不太理想.)
> / c将执行该命令并在完成后关闭窗口.
如果您要从特定目录执行命令,可以执行以下操作:
System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo = new System.Diagnostics.ProcessStartInfo("cmd.exe"); p.StartInfo.Arguments = String.Format(@"/c g++ ""C:\Alps\{0}\Debug\Main.cpp""",project_name); p.StartInfo.WorkingDirectory = @"C:\Alps\compiler"; p.StartInfo.CreateNoWindow = true; p.StartInfo.ErrorDialog = false; p.Start();