System.Diagnostics.Process.Start("cmd.exe", "/c del c:\\test.txt");

解决方案 »

  1.   

    多谢 panyee(快乐王子),可是我没有cmd.exe文件,
    对我来说,好像也不需要这个文件
    我现在需要的是:我只要执行一条dos语句
      

  2.   

    你怎么可能没有,除非你用的不是Windows。
     你想执行什么语句就可以。
     如果要打开一个文本,去调用NOTEPAD.exe
     代码如下:
    string fileName = @"C:\WINNT\NOTEPAD.exe";
    string pahtName = 你的txt的全路经还有名字(e;\mail.txt);
     System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo(fileName,pathName);
    processStartInfo.UseShellExecute = false;
    processStartInfo.CreateNoWindow = true;
    processStartInfo.RedirectStandardOutput = true;
    processStartInfo.RedirectStandardError = true;
    System.Diagnostics.Process process = System.Diagnostics.Process.Start(processStartInfo);
    process.WaitForExit();
      

  3.   

    多谢,我执行一个简单的语句已经成功
    但是,我执行这条语句时好像什么也没做,也没有报错
    rsh 192.168.0.1 -l root /iptables -A FORWARD -s 127.0.0.1 -j ACCEPT如果我在dos下,直接做就可以执行,并看到结果
    是什么原因?
      

  4.   

    cmd.exe是winnt自带的, 系统会直接调用
      

  5.   

    如果要看到结果:
      上面已经设置了processStartInfo.RedirectStandardOutput = true;
      然后这样:
       while(process.StandardOupPut.Peek()!= -1)
       {
              Console.wrightline(process.StandardOupPut.readline());
       }
       这样就打印到后台了。
      process.StandardOupPut是一个reader,存放了输出的信息。
      

  6.   

    rsh是外部命令吧?System.Diagnostics.Process.Start("rsh.exe", "192.168.0.1 -l root /iptables -A FORWARD -s 127.0.0.1 -j ACCEPT");但我没试过你这种语句在服务器上运行命令吗?
      

  7.   

    是在应用服务器上运行,
    我换成panyee(快乐王子) 的方法,还是不行
    也没有报错,只是不见执行的结果