当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,