VS2010 C#环境变量自动配置及运行CMD命令不显示结果
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.IO; namespace PathWindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { button1_Click(null,null); } public string SetPath(string pathName,string pathValue,string delete) //删除delete 要大写,再加到后面。 { string pathlist; pathlist = Environment.GetEnvironmentVariable(pathName, EnvironmentVariableTarget.Machine); if (pathlist == null) { Environment.SetEnvironmentVariable(pathName, pathValue, EnvironmentVariableTarget.Machine); } else { string temp=""; string[] list = pathlist.Split(";"); foreach (string item in list) { if (!item.ToUpper().Contains(delete) && item != pathValue && item!="") temp += item+";"; } Environment.SetEnvironmentVariable(pathName, temp + pathValue + ";", EnvironmentVariableTarget.Machine); } return pathName + "=" + Environment.GetEnvironmentVariable(pathName, EnvironmentVariableTarget.Machine); } public string SetPath(string pathName, string pathValue)//删除原来的并新增 { Environment.SetEnvironmentVariable(pathName, pathValue, EnvironmentVariableTarget.Machine); return pathName + "=" + Environment.GetEnvironmentVariable(pathName, EnvironmentVariableTarget.Machine); } private void ExcuteDosCommand(string cmd) { try { Process p = new Process(); p.StartInfo.FileName = "cmd"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.OutputDataReceived += new DataReceivedEventHandler(sortProcess_OutputDataReceived); p.Start(); StreamWriter cmdWriter = p.StandardInput; p.BeginOutputReadLine(); if (!String.IsNullOrEmpty(cmd)) { cmdWriter.WriteLine(cmd); } cmdWriter.Close(); p.WaitForExit(); p.Close(); } catch(Exception ex) { MessageBox.Show("执行命令失败,请检查输入的命令是否正确!"+ex.ToString()); } } private void sortProcess_OutputDataReceived(object sender,DataReceivedEventArgs e) { if(!String.IsNullOrEmpty(e.Data)) { this.BeginInvoke(new Action(() => { textBox1.Text += e.Data + System.Environment.NewLine; })); } } private void button1_Click(object sender, EventArgs e) { button1.Enabled = false; textBox1.Text = ""; textBox1.Text += "开始设置JAVA变量" + System.Environment.NewLine; // textBox1.Text += SetPath("JAVA_HOME", @"C:Program FilesJavajdk1.8.0_60") + System.Environment.NewLine; textBox1.Text += SetPath("JAVA_HOME", @"C:Program FilesJavajdk1.8.0_05") + System.Environment.NewLine; //32位 textBox1.Text += SetPath("CLASSPATH", @".;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar") + System.Environment.NewLine; textBox1.Text += SetPath("Path", @"%JAVA_HOME%in;%JAVA_HOME%jrein", "JAVA") + System.Environment.NewLine; textBox1.Text += "设置完毕" + System.Environment.NewLine; // ExcuteDosCommand("java -version"); //为什么不显示结果?? button1.Enabled = true; } } }
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: 万能vip视频解析接口
- 下一篇: java int转byte出现负数 byte转int的解决