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的解决
