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

C# 调用Cmd命令的问题。

想用C# 调用cmd 黑屏,并在调出来的黑屏里,执行一串命令,并在黑屏里显示命令的运行结果? --------------------编程问答--------------------             Process proc = new Process();
            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.RedirectStandardError = true;
            try
            {
                proc.Start();
                string command = @"Ipconfig" + Environment.NewLine()+"pause";
                proc.StandardInput.WriteLine(command);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                proc.Close();
                proc.Dispose();
                GC.Collect();
            } --------------------编程问答-------------------- 你可以生成一个临时的.bat --------------------编程问答--------------------  if (windowState == "定时关机")
                {
                    timerTest.Enabled = false;
                    Process p = new Process();
                    p.StartInfo.FileName = "cmd.exe";
                    p.StartInfo.UseShellExecute = false;
                    p.StartInfo.RedirectStandardInput = true;
                    p.StartInfo.RedirectStandardOutput = true;
                    p.StartInfo.CreateNoWindow = true;
                    p.Start();
                    p.StandardInput.WriteLine("shutdown -s -t 0");//关机
                    p.StandardInput.WriteLine("exit");
                    p.Close();
                } --------------------编程问答-------------------- --------------------编程问答--------------------

LZ 这是我自己收藏的 分享给你、希望可以帮到你   有关 C# 代码调用 Cmd的:
private 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(command);       //也可以用这种方式输入要执行的命令
             //p.StandardInput.WriteLine("exit");        //不过要记得加上Exit要不然下一行程式执行的时候会当机
             
             return p.StandardOutput.ReadToEnd();        //从输出流取得命令执行结果
 
         }




private   void   CmdNetUse()     
{       
      Process   p   =   new   Process();       
      p.StartInfo.FileName   =   "cmd.exe ";       
      p.StartInfo.UseShellExecute   =   false;       
      p.StartInfo.RedirectStandardInput   =   true;       
      p.StartInfo.RedirectStandardOutput   =   true;       
      p.StartInfo.RedirectStandardError   =   true;       
      p.StartInfo.CreateNoWindow   =   true;       
      p.Start();       
      p.StandardInput.WriteLine(@ "net   use   \\172.16.17.92    er:username   password "); 
      p.StandardInput.WriteLine( "exit ");       
      string   strRst   =   p.StandardOutput.ReadToEnd();       
      if(strRst.IndexOf( "命令成功完成 ")   !=   -1   )       
      {         
            Response.Write( " <script   language= 'javascript '> alert( '命令成功完成 '); </script> ");       
      }     



以上两个都差不多、 LZ 你看一下、能否用得到、希望可以帮到你、 --------------------编程问答--------------------

using System;
using System.Text;
using System.Diagnostics;
class test
{
static void Main()
{
           Process p = new Process();
           p.StartInfo.FileName="cmd.exe";
   //显示CMD窗口,如果设为false则不显示,适合后台作业
           p.StartInfo.CreateNoWindow=true;
           Console.WriteLine("请输入要执行的命令");
   bool isinput=false;
           if(isinput==false)
           {
               string s=Console.ReadLine();
               Console.WriteLine("你输入的是"+s);
isinput=true;
           }
}
}


基本原理代码就是如此~~~~~~~~~

关键要看你要操作什么,如果操作复杂,也不是一件容易的事 --------------------编程问答-------------------- --------------------编程问答-------------------- 只有学习的份,呵呵!谢谢楼上的各位大侠。。 --------------------编程问答-------------------- LS的各位大虾说的都很清楚了!! --------------------编程问答-------------------- 是的 你可以生成一个批处理w文件
--------------------编程问答-------------------- process.start("cmd /k " & 你的命令)
cmd 
/k 保留执行命令
/c 执行命令后关闭窗口 --------------------编程问答-------------------- process.start("cmd /k " & 你的命令) --------------------编程问答-------------------- 我好失败啊!都看不懂。 --------------------编程问答-------------------- 这么多啊!学习了 !收藏@! --------------------编程问答--------------------
引用 13 楼 wllaoshu 的回复:
我好失败啊!都看不懂。


自己先敲10遍最基础的代码,然后调用winrar制作DOS版的压缩解压软件,你就精通这个命令了 --------------------编程问答-------------------- 我也好失败,继续加油
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,