【发布时间】:2021-09-01 05:57:48
【问题描述】:
我想使用 System.Diagnostics 运行 bat 文件,我做到了。但我有一个问题。
public static void RunMiningProgram(string appPath, string batFilePath)
{
for (int i = 0; i < 2; i++)
{
using (Process p = new Process())
{
p.StartInfo.FileName = $"{appPath}\\{batFilePath}";
p.StartInfo.WorkingDirectory = appPath;
p.Start();
}
}
}
var path = @"D:\PROJECTS\ies-disk\asp-net-core\IesDisk.ApiProcess\wwwroot\C.bat";
var appath = @"D:\PROJECTS\ies-disk\asp-net-core\IesDisk.ApiProcess\wwwroot";
RunMiningProgram(apppath, path);
当我们运行程序时,bat 文件的结果会出现在 Kestrel 打开的控制台屏幕上。如何打开两个不同的 cmd 应用程序,而不是在 Kestrel 控制台中显示它们。
如果我想象我的问题,我希望打开两个不同的 cmd 屏幕。
【问题讨论】:
-
您可能需要启动新的命令提示符。看看这个问题stackoverflow.com/questions/36776854/…
-
您不想在屏幕上看到它(这肯定是个问题)?有什么问题?
-
问题是当我使用
process.start(batfilepath)运行 bat 文件时。它没有打开新的 cmd 屏幕。但我想要它。 -
@BurakErgün 可能打开了它,但在 asp.net 的帐户下 - 记住这是服务器端编程 - 谁将在服务器上监视此命令?
标签: c# asp.net api asp.net-core kestrel