gpt4 book ai didi

c# - 如何直接在 C# 中执行批处理命令?

转载 作者:可可西里 更新时间:2023-11-01 09:08:11 25 4
gpt4 key购买 nike

我想执行一个批处理命令并将输出保存为字符串,但我只能执行文件,无法将内容保存为字符串。

批处理文件:

@echo off

"C:\lmxendutil.exe" -licstatxml -host serv005 -port 6200>C:\Temp\HW_Lic_XML.xml notepad C:\Temp\HW_Lic_XML.xml

C#代码:

private void btnShowLicstate_Click(object sender, EventArgs e)
{
string command = "'C:\\lmxendutil.exe' -licstatxml -host lwserv005 -port 6200";

txtOutput.Text = ExecuteCommand(command);
}

static string ExecuteCommand(string command)
{
int exitCode;
ProcessStartInfo processInfo;
Process process;

processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
// *** Redirect the output ***
processInfo.RedirectStandardError = true;
processInfo.RedirectStandardOutput = true;

process = Process.Start(processInfo);
process.WaitForExit();

// *** Read the streams ***
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();

exitCode = process.ExitCode;

process.Close();

return output;
}

我想以字符串形式输出并直接在 C# 中执行此操作而不需要批处理文件,这可能吗?

最佳答案

不需要使用“CMD.exe”来执行命令行应用程序或检索输出,您可以直接使用“lmxendutil.exe”。

试试这个:

processInfo = new ProcessStartInfo();
processInfo.FileName = "C:\\lmxendutil.exe";
processInfo.Arguments = "-licstatxml -host serv005 -port 6200";
//etc...

在此处进行修改以使用“命令”。

希望对您有所帮助。

关于c# - 如何直接在 C# 中执行批处理命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com