c#调用cmd详解

一、使用Process调用cmd命令

在c#中,使用Process可以方便地调用cmd命令并执行。


Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c dir";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();

string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);

上面的代码演示了如何使用Process调用cmd并执行dir命令,最后将输出打印到控制台中。

二、使用Process调用cmd脚本

除了执行单个命令,也可以使用Process执行cmd脚本。


Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/k \"C:\\path\\to\\script.bat\"";
process.Start();

上面的代码演示了如何使用Process调用名为script.bat的脚本文件。

三、使用PowerShell替代cmd

在一些情况下,PowerShell可以替代cmd进行更加强大的操作。下面演示如何使用Process调用PowerShell并执行。


Process process = new Process();
process.StartInfo.FileName = "powershell.exe";
process.StartInfo.Arguments = "-ExecutionPolicy ByPass -File C:\\path\\to\\script.ps1";
process.Start();

上面的代码演示了如何使用Process调用名为script.ps1的PowerShell脚本文件。

四、使用cmd参数

有时候,我们需要用到一些cmd的参数来实现特定的功能。下面演示一些常用的参数。

  • /c:执行指定的命令并退出。
  • /k:执行指定的命令并继续保持cmd窗口打开状态。
  • /s:在子目录中执行指定的命令。
  • /v:启动时显示所有版本信息。

代码演示:


Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c ipconfig";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);

上面的代码演示了如何使用/c参数执行ipconfig命令。

五、使用cmd重定向输出

默认情况下,Process会将cmd输出到控制台。如果需要获取输出结果,可以使用重定向功能。


Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c dir";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);

上面的代码演示了如何将dir命令执行的结果存储到output变量中,并打印到控制台。

六、使用cmd输入命令

有时候,需要通过命令行输入命令并执行。可以使用Process的StandardInput属性来实现。


Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.UseShellExecute = false;
process.Start();
process.StandardInput.WriteLine("ipconfig");
process.StandardInput.Flush();
process.StandardInput.Close();
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine(output);

上面的代码演示了如何通过StandardInput属性输入ipconfig命令并执行,最后将输出打印到控制台。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/233775.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-11 17:10
下一篇 2024-12-11 17:10

相关推荐

  • cmd看地址

    本文将从多个方面详细阐述cmd看地址,包括如何查看本机IP地址、如何查看路由器IP、如何查看DNS服务器IP等等。 一、查看本机IP地址 要查看本机IP地址,首先需要打开cmd窗口…

    编程 2025-04-29
  • CMD如何升级为中心?

    本文将详细介绍在Windows操作系统下如何将CMD升级为中心,以及如何在升级后使用CMD中心进行操作。 一、下载Windows Terminal Windows Terminal…

    编程 2025-04-29
  • 如何使用cmd激活python虚拟环境

    Python虚拟环境是Python用来隔离项目所需包和依赖库的工具,以免不同项目之间的依赖关系冲突。下面将从安装虚拟环境、创建虚拟环境、激活虚拟环境这3个方面来详细讲解如何在cmd…

    编程 2025-04-28
  • Python3 执行 cmd 命令用法介绍

    本文将详细讲解如何使用Python3执行cmd命令,包括使用subprocess模块、os模块、Popen方法、system方法等多个方面的实现方法。 一、使用subprocess…

    编程 2025-04-27
  • Python CMD命令

    本文将从多个方面详细阐述Python CMD命令的使用方法。 一、安装CMD模块 CMD模块是Python中提供的一个用来快速开发命令行工具的模块,可以方便用户使用命令行来操作程序…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25

发表回复

登录后才能评论