一、前言
我不太喜欢用Window打代码,感觉到处都会被束缚,没有Mac那么行云流水 - 0-
比如今天在Window上开发的时候,遇到了一个问题:
使用新版本的JDGUI时候,提示需要使用JDK7以上的版本,于是乎只能win+PauseBreak呼出控制面板,在高级系统里面去设置JAVA_HOME的值为JDK7的路径。
设置完就感觉很不遍历,假如我有需求需要不断修改Java的版本呢?例如eclipse需要JAVA6,但是JDGUI却需要JAVA7(在Mac上只需要一个bash脚本,修改Java指向的软链接即可),那在Windows上该怎么弄呢?
于是乎,便花了几个小时顺着这个方向,从零开始整一整Window上的脚本环境。
二、目的
从直接需求出发,我想实现的是一个能够修改Java环境变量的脚本。要实现这个需求,实际上需要完成下面几点:
- 可以在cmd的任何目录直接执行指令
- 接收参数,动态的修改环境变量的值
- 重启cmd能立即生效
最后达到的状态便是,win+R呼出cmd
三、Just do it
按照思路一个问题一个问题的来:
1、可以在cmd任何目录直接执行指令
首先想到的便是通过环境变量实现,在环境变量中添加一个值,使得在执行指令的时候,系统能够搜寻到该目录里面的脚本。(其实就类似与Linux和Unix中的profile文件)
添加一个BAT_HOME,指向一个具体的目录,我们之后会把脚本放到该目录。
然后在环境变量PATH中添加%BAT_HOME%
准备工作完成,我们在BAT_HOME 的文件夹里面的新建一个bat文件TestTT.bat进行测试。
TestTT.bat
@echo off
title hello world
:start
echo helloworld
pause
呼出cmd,执行TestTT
这样便有了最初的实现了,方便我们在任何目录位置执行脚本。可以说这一步是非常重要的,因为