C# 简单方式运行powershell文件/使用cmd命令运行ps1
生活随笔
收集整理的這篇文章主要介紹了
C# 简单方式运行powershell文件/使用cmd命令运行ps1
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、目的、構想
1.C# winfrom編譯的tool 運行一個powershell文件。
2.只需要運行即可,不需要返回值。
3.網上部分資料需要額外添加dll。
3.已經有cmd執行命令的函數,能否直接在cmd運行?
4.在cmd黑色窗口輸入powershell 能進入powershell。
?
二、code實現
因為系統會默認禁止執行外部ps1文件,需要設置。
//設置執行策略 string cmd = "powershell Set-ExecutionPolicy RemoteSigned"; CommonLib.RunCMDcommand(cmd, localCreateGroupFolder);//設置執行策略 cmd = "powershell Set-ExecutionPolicy -ExecutionPolicy Unrestricted"; CommonLib.RunCMDcommand(cmd, localCreateGroupFolder);// 執行ps1文檔 cmd = "powershell " + excuteCreateGroup; CommonLib.RunCMDcommand(cmd, localCreateGroupFolder); public static void RunCMDcommand(string command, string workingDirectory){using (Process pc = new Process()){pc.StartInfo.FileName = "cmd.exe";pc.StartInfo.CreateNoWindow = false;//隱藏窗口運行pc.StartInfo.RedirectStandardError = true;//重定向錯誤流pc.StartInfo.RedirectStandardInput = true;//重定向輸入流pc.StartInfo.RedirectStandardOutput = true;//重定向輸出流pc.StartInfo.UseShellExecute = false;pc.StartInfo.WorkingDirectory = workingDirectory;pc.Start();//輸入CMD命令pc.StandardInput.WriteLine(command);pc.StandardInput.WriteLine("exit");//結束執行,很重要的pc.StandardInput.AutoFlush = true;//outPut = pc.StandardOutput.ReadToEnd();//讀取結果 //注釋可能繼續跑,app不會等待卡死 pc.WaitForExit();pc.Close();}}?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C# 简单方式运行powershell文件/使用cmd命令运行ps1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 图片、文件等加入Project R
- 下一篇: C# 简单方式解压Zip文件/使用VS2