c#执行cmd命令
proc = new Process();
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.Start();
proc.StandardInput.WriteLine("cd c:\\windows\\system32");
proc.StandardInput.WriteLine(cmd);
proc.StandardInput.WriteLine("exit");
proc.Close();
上面的代码在开发的电脑上可以正常执行
但是部署到另一台电脑就没反应了 --------------------编程问答-------------------- framework 也装了还是没用 --------------------编程问答-------------------- 也不报错?你期待什么结果呢?
你把下面的操作手动做一遍呢:
proc.Start();
proc.StandardInput.WriteLine("cd c:\\windows\\system32"); proc.StandardInput.WriteLine(cmd);
proc.StandardInput.WriteLine("exit");
proc.Close();
还有,你proc.StandardInput.WriteLine(cmd); 中的cmd是什么命令?
--------------------编程问答-------------------- 莫非是上个世纪的系统 win98神马的???如果是的话cmd这样是打不开的
所有的文件都部署上了?看看有落下的没 --------------------编程问答-------------------- 没有落下文件
cmd 就是 mstsc
在开发电脑上部署是可以执行的(不是用vs运行)
没有报错就是点了没反应 --------------------编程问答-------------------- 系统是win 2003 --------------------编程问答-------------------- 用手动输入命令也没有问题 --------------------编程问答-------------------- 上次做一个wifi共享的小程序也遇到同样的问题,改了一下程序,将cmd的反馈信息显示到MessageBox,在自己的电脑上MessageBox得到的是正常反馈信息,而在别人的电脑得到的是“c:\Users\Lenovo\'程序中写入的cmd指令'”,然后将程序在不同路径下运行,MessageBox显示的是“对应程序绝对路径\程序中写入的cmd指令”。 在此也请教一下,怎么解决? --------------------编程问答-------------------- 那台电脑上有cmd.exe这个文件吗? 或者这个文件不在c:\\windows\\system32文件夹下
其实执行cmd没必要写那么多代码吧:
string command = "cd c:\\windows\\system32";
Process.Start("cmd.exe",command);
补充:.NET技术 , C#