我正在尝试运行可执行的JAR文件,它必须使用jre 1.8版运行。 当我从CMD手动运行此命令时,我得到jre版本为1.8。 set path = 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
}
请提供输入以执行命令。
答案 0 :(得分:0)
我可以按照以下步骤执行命令 1.我用命令编写了一个批处理文件 set path = c:\ Project Work \ jdk1.8.0_66-x64 \ jre \ bin;%PATH% 2.我已经通过以下方式命名批处理文件并从C#程序执行批处理文件。
string abc = "abc";
string def = "123";
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "C:\\Users\\90008121\\Desktop\\ClassPathbatch.bat";
proc.StartInfo.Arguments = String.Format("{0} {1}", abc, def);
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();
Console.ReadLine();
3。最后满足要求。