如何从C#执行set path = c:\ Project Work \ jdk1.8.0_66-x64 \ jre \ bin;%PATH%命令

时间:2017-11-23 09:55:29

标签: c# cmd

我正在尝试运行可执行的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
            }

请提供输入以执行命令。

1 个答案:

答案 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。最后满足要求。