打开cmd.exe,然后运行我当前的控制台应用程序

时间:2015-11-06 10:24:31

标签: c#

这是我想要实现的目标:

  1. 假设我正在准备abc.exe(控制台应用程序)。
  2. 我想调用cmd.exe,然后通过cmd启动abc.exe。我不会在我的项目文件夹中保留cmd.exe。我将从用户机器的system32文件夹中使用它。
  3. 有可能吗?

1 个答案:

答案 0 :(得分:1)

如评论中所述,您可以使用Process.Start(pathToExe)启动新流程。

您可以使用cmd /C start "Title" "C:\path\to\app.exe"

在新的cmd中启动您的程序
string cmdPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
string exePath = System.Reflection.Assembly.GetEntryAssembly().Location;
ProcessStartInfo newCmd = new ProcessStartInfo(cmdPath);
newCmd.Arguments = String.Format(@"/C start ""{0}"" ""{1}""", "WindowTitle", exePath);
Process.Start(newCmd);

你可能想要一些有条件的条件,以便不自己分叉炸弹