【问题标题】:Run CMD from C# Console Application?从 C# 控制台应用程序运行 CMD?
【发布时间】:2010-12-03 00:59:12
【问题描述】:

如何从我的 C# 控制台应用程序运行 CMD.EXE?就像在 Powershell 中一样,您可以通过键入“cmd”来运行 cmd.exe

编辑:打开 Powershell。键入“cmd”。这就是我想要的。

EDIT2:感谢您的帮助。我会尽量让它更清楚。我想要这样当用户在我的命令行 C# 应用程序中输入“cmd”时,它会在同一个窗口中运行 CMD.EXE。和在Powershell中输入CMD基本一样。

【问题讨论】:

  • “运行 cmd”是什么意思?开始进程?打开“命令行”窗口?
  • 你可以看看管道。本质上,您希望 cmd pipend 的输出在您自己的 shell 中,并将您的 shell 输入发送到 cmd 执行。

标签: c# cmd


【解决方案1】:

Process.Start("cmd.exe") 是你要找的吗? (别忘了加 using System.Diagnostics))
更多关于Process class on MSDN的信息

【讨论】:

  • 很遗憾,C# 控制台应用程序中没有进程
  • 查看更新)(添加 using 指令或仅使用 System.Diagnostics.Process.Start("cmd.exe"))
  • 谢谢,但是有没有办法在同一个窗口中打开它?
  • 我不清楚你想要达到的目标。您想将用户的输入重定向到 shell 吗?请更新问题,提供有关您的问题/想法的信息。
  • 您似乎正在寻找的是编写自己的外壳。您无需启动“cmd.exe”即可从您自己的命令行执行进程。
【解决方案2】:

我认为您希望您的用户在您的应用程序中拥有一个交互式外壳。

一种方法是将 cmd.exe 的标准输入和标准输出重定向到您的应用程序。它将以字符串形式从控制台输入/输出数据,因此您可以在任何漂浮物的文本框中显示它。

This project from code project 似乎在做你想做的事

【讨论】:

  • 不是我现在正在寻找的答案,但很容易知道,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 2011-01-22
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 2013-02-11
相关资源
最近更新 更多