精易论坛

标题: C# 优化CMD操作 [打印本页]

作者: 罪过    时间: 2022-5-10 15:12
标题: C# 优化CMD操作
本帖最后由 罪过 于 2022-5-11 10:52 编辑

处理掉每次发送命令显示(Microsoft Windows [版本 10.0.19041.264](c) 2020 Microsoft Corporation. 保留所有权利。
,还有CMD路径的显示)。

Form1.7z

1.35 KB, 下载次数: 43, 下载积分: 精币 -2 枚


作者: xjshuaishuai    时间: 2022-5-10 15:32

作者: 芒果一号    时间: 2022-5-10 16:51
就一个解决方案,其他文件呢,大佬
作者: 舞笔    时间: 2022-5-10 18:34
感谢分享啊
作者: pjm123    时间: 2022-5-10 19:22
谢谢分享
作者: 深圳梦    时间: 2022-5-10 21:07
支持开源~!感谢分享
作者: 凉城o    时间: 2022-5-11 02:36
谢谢分享来看看
作者: gaoqing    时间: 2022-5-11 08:00
感谢分享!
作者: Code123    时间: 2022-5-11 08:40
感谢分享!
作者: 罪过    时间: 2022-5-11 10:49
芒果一号 发表于 2022-5-10 16:51
就一个解决方案,其他文件呢,大佬

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
              

        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            textBox2.Text = "";


            

            textBox2.Text= CmdHelper.RunCmd(textBox1.Text);





        }
    }


   

public class CmdHelper
    {
        private static string CmdPath = @"C:\Windows\System32\cmd.exe";

        /// <summary>
        /// 执行cmd命令
        /// 多命令请使用批处理命令连接符:
        /// <![CDATA[
        /// &:同时执行两个命令
        /// |:将上一个命令的输出,作为下一个命令的输入
        /// &&:当&&前的命令成功时,才执行&&后的命令
        /// ||:当||前的命令失败时,才执行||后的命令]]>
        /// 其他请百d
        /// </summary>
        /// <param name="cmd"></param>
        /// <param name="output"></param>
        public static string RunCmd(string cmd)
        {
            string output = "";
            cmd = cmd.Trim().TrimEnd('&') + "&exit";//说明:不管命令是否成功均执行exit命令,否则当调用ReadToEnd()方法时,会处于假死状态
            using (Process p = new Process())
            {
                p.StartInfo.FileName = CmdPath;
                p.StartInfo.UseShellExecute = false;        //是否使用操作系统shell启动
                p.StartInfo.RedirectStandardInput = true;   //接受来自调用程序的输入信息
                p.StartInfo.RedirectStandardOutput = true;  //由调用程序获取输出信息
                p.StartInfo.RedirectStandardError = true;   //重定向标准错误输出
                p.StartInfo.CreateNoWindow = true;          //不显示程序窗口
                p.Start();//启动程序

                //向cmd窗口写入命令
                p.StandardInput.WriteLine(cmd);
                p.StandardInput.AutoFlush = true;

                //获取cmd窗口的输出信息
                output = p.StandardOutput.ReadToEnd();
                return Del_CMD_str(output, cmd);

                p.WaitForExit();//等待程序执行完退出进程
                p.Close();
            }
        }
        public static string Del_CMD_str(string s1, string s2)//处理CMD内容
        {
            try
            {
                int len1;
                len1 = s1.IndexOf(s2, 0) + s2.Length;
                return s1.Substring(len1+2, s1.Length - len1-2);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return "";
            }
        }
    }//CMD引用操作
   
}
作者: 罪过    时间: 2022-5-11 10:50
标题: 上传错了哈
本帖最后由 罪过 于 2022-5-11 10:51 编辑

源码下载这个

Form1.7z

1.35 KB, 下载次数: 10, 下载积分: 精币 -2 枚


作者: 芒果一号    时间: 2022-5-11 18:59
罪过 发表于 2022-5-11 10:50
源码下载这个

好的多谢
作者: singlecolor    时间: 2022-5-12 06:07

作者: 谈谈的味道    时间: 2022-5-12 15:40
看看比易的那些cmd模块 是不是强些.
作者: 完玩    时间: 2022-5-13 14:15
太棒了,应该能用到
作者: ghost12    时间: 2022-5-16 07:00
在此留名,以后多多交流哦~
作者: kic1234    时间: 2022-5-19 17:42
感谢分享!
作者: zjbdsg    时间: 2022-5-30 05:48
感谢感谢感谢感谢感谢感谢感谢感谢感谢感谢
作者: hjtx2022    时间: 2022-7-12 20:23
我看看,我下载一个
作者: 赤赤    时间: 2022-8-25 06:01
可以可以可以可以可以可以可以可以可以可以可以
作者: SMTHU    时间: 2023-12-11 00:30
6666666666666666666
作者: SMTHU    时间: 2023-12-11 00:30
6666666666666666666
作者: SMTHU    时间: 2023-12-11 00:33
6666666666666666
作者: wgqxj    时间: 2025-1-11 10:53
谢谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4