zoukankan      html  css  js  c++  java
  • c#调用cmd

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Diagnostics;
    
    namespace setIp
    {
       public class Command
        {
            /**/
            /// 
            /// 执行DOS命令,返回DOS命令的输出
            /// 
            /// dos命令
            /// 返回输出,如果发生异常,返回空字符串
            public static string Execute(string dosCommand)
            {
                return Execute(dosCommand, 30 * 1000);
            }
            /**/
            /// 
            /// 执行DOS命令,返回DOS命令的输出
            /// 
            /// dos命令
            /// 等待命令执行的时间(单位:毫秒),如果设定为0,则无限等待
            /// 返回输出,如果发生异常,返回空字符串
            public static string Execute(string dosCommand, int milliseconds)
            {
                string output = "";     //输出字符串
                if (dosCommand != null && dosCommand != "")
                {
                    Process process = new Process();     //创建进程对象
                    ProcessStartInfo startInfo = new ProcessStartInfo();
                    startInfo.FileName = "cmd.exe";      //设定需要执行的命令
                    startInfo.Arguments = "/C " + dosCommand;   //设定参数,其中的“/C”表示执行完命令后马上退出
                    startInfo.UseShellExecute = false;     //不使用系统外壳程序启动
                    startInfo.RedirectStandardInput = true;   //不重定向输入
                    startInfo.RedirectStandardOutput = true;   //重定向输出
                    startInfo.CreateNoWindow = true;     //不创建窗口
                    process.StartInfo = startInfo;
                    try
                    {
                        if (process.Start())       //开始进程
                        {
                            if (milliseconds == 0)
                                process.WaitForExit();     //这里无限等待进程结束
                            else
                                process.WaitForExit(milliseconds);  //这里等待进程结束,等待时间为指定的毫秒
                            output = process.StandardOutput.ReadToEnd();//读取进程的输出
                        }
                    }
                    catch
                    {
                    }
                    finally
                    {
                        if (process != null)
                        {
                            
                            process.Close();
                        }
                            
                    }
                }
                return output;
            }
        }
    }
  • 相关阅读:
    多线程
    关于并发和并行
    文件系统
    java.util.Arrays类
    程序管理与SElinux
    用户和用户组管理总结
    useradd和adduser
    打印可见字符
    cmd中控制某个命令执行多少次
    keras模块之-优化器(optimizers)--笔记
  • 原文地址:https://www.cnblogs.com/gaocong/p/6878206.html
Copyright © 2011-2022 走看看