powershell脚本配置jdk环境变量

来源:互联网 发布:java配置上传文件路径 编辑:程序博客网 时间:2024/06/07 21:56

写这篇文章时,能想到原来多苦逼的自己~~

特别是那时,JAVA初学者往往刚开始用的是Myeclipse这种自动集成化的工具,用过这编译器的同学应该清楚,在这我就不再次吐槽了~

往往大家第一配置JDK环境变量的时候,总是不清楚配置哪里,就算配置过一两次,还是会忘记~

Linux平台Shell脚本很强大了,应该很快就能写一个脚本,自己配置,这里就不累赘了~

下面推荐用Windows自带的脚本(Powershell)来自动配置JDK,话说windows版本低了需要安装powershell~~貌似我没有遇到过~~

powershell被认为是一个C#封装的壳,可以调用所有的C#语言编写的类,所以功能和C#功能一样强大~

powershell也是一个弱类型的语言,声明变量时不需要指定变量的类型,很灵活~

同时,不需要额外的配置,保存为文件(.ps1)

需要的童鞋阔以参考下面代码,适合初学者,大牛请绕行害羞

第一步:保存到文件中(.ps1)并复制到JDK安装目录


第二步:运行.ps1文件



下面是完成代码

$User="User"$ph="Path"$cp="CLASSPATH"$jh="JAVA_HOME"$java=[System.Environment]::GetEnvironmentVariable($jh,$User)#清除旧数据function clearJp([string]$jp,[int]$index){Write-Host "--$jp--"$jpa=$jp -split ";"$len=$jpa.Length$result=""$mark=$truefor($iter=$index;$iter -lt $len;$iter++){$inof=$jpa[$iter].IndexOf($java)if( ($inof -eq 0) -or ($jpa[$iter].Length -eq 0)){continue}if($mark){$mark=$False}else{$result=$result+";"}$result=$result+$jpa[$iter]}return $result}##删除旧数据function clearJh(){$jp=[System.Environment]::GetEnvironmentVariable($ph,$User)$jc=[System.Environment]::GetEnvironmentVariable($cp,$User)$jpr=clearJp $jp$jcr=clearJp $jcWrite-Host "jpr:$jpr"[System.Environment]::SetEnvironmentVariable($ph,$jpr,$User)Write-Host "jcr:$jcr"[System.Environment]::SetEnvironmentVariable($cp,$jcr,$User)}if($java){clearJh }function setJDKEnv([string]$pname,[string]$val,[string]$prefix){$oldval=[System.Environment]::GetEnvironmentVariable($pname,$User)###环境变量为空需要另外处理if($oldval.Length -eq 0){$oldval=$prefix}$oldval=$oldval+";"[System.Environment]::SetEnvironmentVariable($pname,"$oldval$val",$User)}$java_home=$pwd##配置JAVA_HOME[System.Environment]::SetEnvironmentVariable($jh,$java_home,$User)##配置PathsetJDKEnv $ph "$java_home\bin;$java_home\jre\bin" ""##配置CLASSPATHsetJDKEnv $cp "$java_home\lib;$java_home\lib\tools.jar" "."##测试#java -versionWrite-Host "回车键结束......"Read-Host
<span style="color:#ff0000;">请君斟酌,不良修改环境变量,可能让你电脑回到解放前</span><img alt="大笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif" />,完成时测试,遭遇过一次,已修复。

0 0
原创粉丝点击