【发布时间】:2024-01-18 21:08:01
【问题描述】:
我正在尝试运行一个可执行的 JAR 文件,它必须使用 jre 1.8 版运行。 当我从 CMD 手动运行此命令时,我得到的 jre 版本为 1.8。 设置路径=c:\Project Work\jdk1.8.0_66-x64\jre\bin;%PATH%
如何从 C# 运行此命令。我尝试了以下代码,但无法从 c# 执行命令。
try
{
string command = "set path=c:\\Project Work\\jdk1.8.0_66-x64\\jre\bin;%PATH%";
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", "/c " + command);
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
string result = proc.StandardOutput.ReadToEnd();
Console.WriteLine(result);
Console.WriteLine(procStartInfo.WorkingDirectory);
Console.ReadLine();
}
catch (Exception objException)
{
// Log the exception
}
请提供您的输入以执行命令。
【问题讨论】:
-
改用
Environment.SetEnvironmentVariable。 -
@Evk,您还可以将变量添加到
ProcessStartInfo的Environment属性中。这样就不会污染调用进程的环境。不过,在这种特殊情况下,这并不重要。 -
@Joey 谢谢你的信息,不知道