首页 > 编程语言 >.NET(C#)调用cmd.exe(dos命令)两种方法(Process,Cli)

.NET(C#)调用cmd.exe(dos命令)两种方法(Process,Cli)

时间:2022-10-20 13:46:10浏览次数:59  
标签:exe Process cmd System C# new proc1

本文主要介绍.NET(C#)中调用cmd.exe(dos命令)两种方法,一个是通过Process调用,另一个是通过Cli调用。

 

1、通过Process调用cmd命令

1)C#运行shell命令

string strCmdText;
strCmdText= "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
System.Diagnostics.Process.Start("CMD.exe",strCmdText);

2)运行cmd命令隐藏控制台窗口

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
process.StartInfo = startInfo;
process.Start();

3)运行cmd命令参数配置

var proc1 = new ProcessStartInfo();
string anyCommand;
proc1.UseShellExecute = true;
proc1.WorkingDirectory = @"C:\Windows\System32";
proc1.FileName = @"C:\Windows\System32\cmd.exe";
proc1.Verb = "runas";
proc1.Arguments = "/c "+anyCommand;
proc1.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(proc1);

var proc = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = @"C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\tf.exe",
        Arguments = "checkout AndroidManifest.xml",
        UseShellExecute = false,
        RedirectStandardOutput = true,
        CreateNoWindow = true,
        WorkingDirectory = @"C:\MyAndroidApp\"
    }
};

proc.Start();

4)通过控制台应用程序中传递参数获取输出结果

using System.Diagnostics;
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine("echo Oscar");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
Console.WriteLine(cmd.StandardOutput.ReadToEnd());

2、通过Cli调用cmd命令

通过Nuget安装Cli

Nuget使用相关文档:VS(Visual Studio)中Nuget的使用

var stdout = new Cli("cmd")
.Execute("copy /b Image1.jpg + Archive.rar Image2.jpg")
.StandardOutput;

标签:exe,Process,cmd,System,C#,new,proc1
From: https://www.cnblogs.com/fireicesion/p/16809565.html

相关文章

  • ASP.NET Core中使用SmtpClient发送邮件的方法代码
    本文主要介绍ASP.NETCore使用SmtpClient邮件的方法,从.NETCore2.0开始,Microsoft引入了SmtpClient,与.NETFramework4中的实现相同。并且不必依赖第三方Nuget包直接可以......
  • SwitchResX(Mac屏幕分辨率修改工具)
    如何修改屏幕分辨率?switchresxmac是一款Mac上实用的屏幕分辨率修改工具,快速的帮助您更改Mac显示屏的分辨率。操作界面简单,采用嵌套的上下文菜单管理,更加方便您控制修改分......
  • AcCoders 10477:【省选基础数据结构 树链剖分】【GDOI2016】疯狂动物城 题解
    算法:树链剖分,可持久化线段树。题目大意给定\(n\)个结点的一棵树,\(m\)次操作,操作有三种:将\(x\)至\(y\)最短路径上的所有点的权值加上\(delta\)。对于\(x\)至......
  • 基于PRM(probabilistic roadmaps)算法的机器人路线规划算法matlab仿真
    目录一、理论基础二、MATLAB仿真程序三、仿真结果一、理论基础地图和机器人的模型如下:   1.使用一个2*2的网格大小(gridsize)和5度的角分辨率(angularresolu......
  • .NET Core appsettings.json 取值
    本文主要介绍.NETCore中,通过appsettings.json配置文件获取数据库连接字符串。 1、在项目的根目录中创建appsettings.json文件{"MssqlConnectionString":"Server......
  • 使用python写docx文档
    需要使用python-docx(1)安装python-mpipinstallpython-docx(2)新建空白文档fromdocximportDocumentdocument=Document()document.save('../data/123.docx')......
  • .NET Core 2.1 EF(Entity Framework) Core Sqlite配置和使用分享
    本文主要介绍.NETCore2.1,在EF(EntityFramework)Core中配置使用Sqlite数据库,自动创建Sqlite数据库,自动创建表。1、安装用到的Nuget包项目上右键-》选择"管理Nuget......
  • .NET Core 使用 DotnetSpider 抓取页面教程
    本文主要介绍通过DotnetSpider写少量代码快速的实现网页的抓取。1、通过Nuget安装引用DotnetSpider项目上右键-》选择"管理Nuget程序包" -》搜索"DotnetsSpider" ......
  • weblogic洞若观火第4篇之手工创建域
    引言上一篇文章,主要讲解了weblogic的源码安装,涉及到了:服务器规划、软件版本、硬件配置、源码安装weblogic。在本篇文章中,我们接着介绍:weblogic的手工创建域。域Domain域是......
  • VSCode 官网加速下载
    1、官网点击下载后复制下载链接https://az764295.vo.msecnd.net/stable/d045a5eda657f4d7b676dedbfa7aab8207f8a075/VSCodeUserSetup-x64-1.72.2.exe2、域名替换为vsco......