zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#【必备技能篇】调用cmd文件,并读取其输出数据(通过.cmd调用 .py程序 或 .py生成的.exe)

c#文件输出程序数据 生成 通过 调用
2023-09-11 14:15:48 时间

0、前期Python准备:

Python【必备技能】pip使用+.py在cmd下运行+生成.exe文件:https://blog.csdn.net/sinat_40003796/article/details/126853740

1、C#调用.cmd程序【.py生成的.exe要能打开DOS窗口】

.py生成.exe程序

C#调用python生成的.exe,并想从cmd中获取信息时【.exe程序运行时,会打开DOS命令行】使用时,使用下边命令

pyinstaller -F test.py

需要添加的引用:

using System.Diagnostics;

核心代码:

//运行cmd文件
Process proc = new Process();
proc.StartInfo.FileName = Environment.CurrentDirectory + "\\dist\\test.cmd";//.cmd文件的路径

proc.StartInfo.WorkingDirectory = Environment.CurrentDirectory + "\\dist";//.cmd文件所在的文件夹
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;//这里设置DOS窗口不显示,经实践可行
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;//重定向标准错误输出

proc.Start();

proc.StandardInput.WriteLine("&exit");
proc.StandardInput.AutoFlush = true;
string output = proc.StandardOutput.ReadToEnd();//【重要!】读取DOS窗体输出的内容
proc.WaitForExit();//等待程序执行完退出进程
proc.Close();