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/zh-hant/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

發表回復

登錄後才能評論