c#调用cmd
- 提问者网友:火车头
- 2021-08-17 17:19
- 五星知识达人网友:街头电车
- 2021-08-17 17:40
C#只不过是调用别的程序而已,即你所谓的CMD.EXE
而C++那个,我估计也是一样的,只不过帮你弄成了一个函数,
你要是想要那样的,完全可以自己写一个
public static void system(string arg)
{
Process.Start(arg);
}
类似就是这样的,
只不自己调用习惯而已
- 1楼网友:患得患失的劫
- 2021-08-17 20:00
class Program { static void Main(string[] args) {
string str = RunCmd("dir c:"); Console.WriteLine(str); } static string RunCmd(string command) { //实例一个Process类,启动一个独立进程 Process p = new Process();
//Process类有一个StartInfo属性,这个是ProcessStartInfo类,包括了一些属性和方法,下面我们用到了他的几个属性:
p.StartInfo.FileName = "cmd.exe"; //设定程序名 p.StartInfo.Arguments = "/c " + command; //设定程式执行参数 p.StartInfo.UseShellExecute = false; //关闭Shell的使用 p.StartInfo.RedirectStandardInput = true; //重定向标准输入 p.StartInfo.RedirectStandardOutput = true; //重定向标准输出 p.StartInfo.RedirectStandardError = true; //重定向错误输出 p.StartInfo.CreateNoWindow = true; //设置不显示窗口
p.Start(); //启动 p.StandardInput.WriteLine("exit"); //不过要记得加上Exit要不然下一行程式执行的时候会当机
return p.StandardOutput.ReadToEnd(); //从输出流取得命令执行结果 } }
也可以直接System.Diagnostics.Process.Start(dos命令);
如: System.Diagnostics.Process.Start("ipconfig");
- 2楼网友:神的生死簿
- 2021-08-17 18:30