/// <summary>
/// 运行cmd命令
/// 会显示命令窗口
/// </summary>
/// <param name="cmdExe">指定应用程序的完整路径</param>
/// <param name="cmdStr">执行命令行参数</param>
static bool RunCmd(string cmdExe, string cmdStr)
{
    bool result = false;
    try
    {
        using (Process myPro = new Process())
        {
            //指定启动进程是调用的应用程序和命令行参数
            ProcessStartInfo psi = new ProcessStartInfo(cmdExe, cmdStr);
            myPro.StartInfo = psi;
            myPro.Start();
            myPro.WaitForExit();
            result = true;
        }
    }
    catch
    {
    }
    return result;
}
/// <summary>
/// 运行cmd命令
/// 不显示命令窗口
/// </summary>
/// <param name="cmdExe">指定应用程序的完整路径</param>
/// <param name="cmdStr">执行命令行参数</param>
static bool RunCmd2(string cmdExe, string cmdStr)
{
    bool result = false;
    try
    {
        using (Process myPro = new Process())
        {
            myPro.StartInfo.FileName = "cmd.exe";
            myPro.StartInfo.UseShellExecute = false;
            myPro.StartInfo.RedirectStandardInput = true;
            myPro.StartInfo.RedirectStandardOutput = true;
            myPro.StartInfo.RedirectStandardError = true;
            myPro.StartInfo.CreateNoWindow = true;
            myPro.Start();
            //如果调用程序路径中有空格时,cmd命令执行失败,可以用双引号括起来 ,在这里两个引号表示一个引号(转义)
            string str = string.Format(@"""{0}"" {1} {2}", cmdExe, cmdStr, "&exit");
            myPro.StandardInput.WriteLine(str);
            myPro.StandardInput.AutoFlush = true;
            myPro.WaitForExit();
            result = true;
        }
    }
    catch
    {
    }
    return result;
}