[英]How to operate command prompt using c#?
我創建了一個“hello.py”文件並將其放在與我的 c#.exe 相同的目錄中
我通過 c# 在命令提示符下運行它,這是我到目前為止的進展
using System.Diagnostics;
using System;
namespace c_hash_testing
{
class Primary
{
static void run()
{
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("python hello.py");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
Console.WriteLine(cmd.StandardOutput.ReadToEnd());
}
static void Main(string[] args)
{
run();
Console.ReadKey();
}
}
}
但是當我運行它時,output 出來了
微軟 Windows [版本 10.0.19041.685]
(c) 2020 年微軟公司。 版權所有。C:\... \Debug>python hello.py
你好世界C:\...\調試>
但我特別需要“hello world”部分
那么有什么方法可以只讀取執行的部分,因為我不想每次運行其他東西時都對字符串進行排序,
還有什么方法可以通過 c# 輸入到 cmd 中?
例如,如果我制作了一個輸入 2 個數字然后打印它們的總和的 calc.py?
筆記
我的目的不是整合python和c#,我只是以.py為例
所以請提供適用於.exe或任何命令提示符可執行文件的解決方案
嘗試設置
cmd.StartInfo.Arguments = "/c python hello.py"
而不是使用 StandardInput 傳遞您的命令。
這相當於輸入
cmd /c python hello.py
在命令提示符下,而不是鍵入:
cmd
其次是
python hello.py
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.