公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

C# 調用執行命令行窗口 (CMD)

admin
2024年9月10日 21:42 本文熱度 1061

摘要


在C#中,有時需要執行命令行指令來完成特定的任務,這個用起來特別簡單,用好了靈活性極大。這可能包括運行腳本、管理服務、獲取系統信息等。C# 提供了 System.Diagnostics 命名空間中的 Process 類來啟動和管理系統進程,包括命令行窗口(cmd.exe)。

正文


應用場景

  1. 自動化構建和部署:使用命令行工具如 MSBuild 或者 PowerShell 腳本來編譯和部署應用程序。

  2. 系統管理:執行系統管理任務,如啟動或停止服務,管理文件和目錄等。

  3. 網絡操作:運行網絡診斷工具如 ping、ipconfig 或自定義網絡操作腳本。

  4. 數據庫操作:執行數據庫備份、還原或運行 SQL 腳本。

  5. 第三方工具集成:調用 Git、Docker 或其他命令行工具進行自動化操作。

示例 1: 執行簡單命令

public class CmdExample{      public static void ExecuteCommand(string command)      {            ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd", $"/c {command}")            {                  RedirectStandardOutput = true,                  UseShellExecute = false,                  CreateNoWindow = true            };
using (Process process = Process.Start(processStartInfo)) { using (StreamReader reader = process.StandardOutput) { string result = reader.ReadToEnd(); Console.WriteLine(result); } } }}

使用此方法可以執行任何簡單的命令行指令。例如,獲取當前目錄下的文件列表:

static void Main(){      CmdExample.ExecuteCommand("dir");}

示例 2: 運行批處理腳本

public class BatchScriptRunner{      public static void RunBatchScript(string scriptPath)      {            ProcessStartInfo processStartInfo = new ProcessStartInfo(scriptPath)            {                  RedirectStandardOutput = true,                  UseShellExecute = false,                  CreateNoWindow = true            };
using (Process process = Process.Start(processStartInfo)) { using (StreamReader reader = process.StandardOutput) { string result = reader.ReadToEnd(); Console.WriteLine(result); } } }}

調用批處理腳本 a.bat

static void Main(){      BatchScriptRunner.RunBatchScript(@"d:\a.bat");}

示例 3: 執行具有復雜輸出的命令

public class ComplexCommandExecutor{      public static void ExecuteComplexCommand(string command)      {            ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd", $"/c {command}")            {                  RedirectStandardOutput = true,                  RedirectStandardError = true,                  UseShellExecute = false,                  CreateNoWindow = true            };
StringBuilder output = new StringBuilder(); StringBuilder error = new StringBuilder();
using (Process process = new Process()) { process.StartInfo = processStartInfo; process.OutputDataReceived += (sender, args) => output.AppendLine(args.Data); process.ErrorDataReceived += (sender, args) => error.AppendLine(args.Data);
process.Start();
process.BeginOutputReadLine(); process.BeginErrorReadLine();
process.WaitForExit();
Console.WriteLine("Output:"); Console.WriteLine(output.ToString()); Console.WriteLine("Error:"); Console.WriteLine(error.ToString()); } }}
static void Main(){ ComplexCommandExecutor.ExecuteComplexCommand("ipconfig /all");}

結論

在C#中調用執行命令行窗口可以非常靈活和強大,但也需要注意安全性和錯誤處理。始終驗證外部輸入,避免注入攻擊,并確保處理任何可能的異常和錯誤輸出。正確使用時,它可以是自動化和系統集成的強大工具。


該文章在 2024/9/13 9:21:43 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 91无码在线观看 | 国产精品天干天干在线 | 国产精品偷伦免费观看的 | 国产午夜激无码av毛片不 | 国产色视频自在线观看 | 国产中文字幕永久免费 | 国产精品丝袜一区二区三区 | 国产精品毛片无码 | 国产成人无码va在 | 国产午夜精品久久久久精品电影 | av日韩国产在线 | 国产精品亚洲综合日韩在线 | 国产精品成人啪免费视频 | 国产午夜精品理论片久久影院 | 国产爽爽视频 | 18禁午夜成人影院在线看 | 精品人妻系列 | 99久久国产精品免费一区二区 | 国产91精品久久 | 国产在线永久视频免费下载 | 国产毛1卡2卡3卡4卡 | 国产精品欧美亚洲韩国日本不卡 | 精品国产v无码大片在线观看 | 国产一区二区三精品久久久无广告 | 国产成人一区免费观看 | 国产高清在线免费无码 | 成年人午夜免费视频 | 国产成人a视频在线观看 | a人亚洲精v品无码樱花 | 99久久久精品综合 | 91精品国产高久久久成人 | 潮喷好爽在线观 | 国产爆初菊在线观看免费视频 | 岛国一区二区三区在线观看免费 | 国产熟女一区二区三区十视频 | 成人白浆超碰人人人人 | 国产不卡在线观看免费视频 | 国产狂喷潮视频免费观看 | 国产在线不卡顿免费视频 | 国产av秘一区二区三区 | 99精品热在|