使用VBScript实现设置系统环境变量的小程序
本人有点桌面洁癖,桌面上只放很少的东西,很多软件都用快捷键调出。最近频繁用到一个软件,我又不想放个快捷方式在桌面,也不想附到开始菜单,于是乎想将其所在目录附加到系统环境变量Path上,以后直接在运行中输入文件名快速调出。但我又厌倦了win7 计算机-属性-系统保护-高级-环境变量-新建/选择并编辑 这种设置方式,于是我打开了命令行,在网上搜到了使用 set name = path 这种设置的方式,但是后来发现这样设置只对当前窗口有效,并不能达到我一劳永逸的预期。后来在网上又找到了用vbs脚本写的一段设置系统环境变量的代码,我稍加改动便成了一个可以方便地设置系统环境变量的小工具(*.vbs文件)。同时,为了追求程序的简化,本程序并没有集成诸如删除等功能,也没有在外观上做什么额外的调整,对于欲求不满的客官完全可以在此基础上进行扩展改进,本程序就是为了突出其小巧轻便、简单实用的特点。现将代码贴出来共享,大伙只需在记事本拷下这段代码另存为“设置系统环境变量.vbs”(当然,文件名可以自己取),以后要设置系统环境变量,双击这个文件就可以直接新增或者在原有变量对应的值上附加了,非常方便。
1 '--------定义设置系统环境变量的方法--------- 2 Set pSysEnv = CreateObject("WScript.Shell").Environment("System") 3 Function IsMatch(Str, Patrn) 4 Set r = new RegExp 5 r.Pattern = Patrn 6 IsMatch = r.test(Str) 7 End Function 8 Sub SetEnv(pPath, pValue) 9 Dim ExistValueOfPath 10 If pValue <> "" Then 11 ExistValueOfPath = pSysEnv(pPath) 12 If Right(pValue, 1) = "\" Then pValue = Left(pValue, Len(pValue)-1) 13 If IsMatch(ExistValueOfPath, "\*?" & Replace(pValue, "\", "\\") & "\\?(\b|;)") Then Exit Sub 14 If ExistValueOfPath <> "" Then pValue = ";" & pValue 15 pSysEnv(pPath) = ExistValueOfPath & pValue 16 Else 17 pSysEnv.Remove(pPath) 18 End If 19 End Sub 20 21 '--------获取输入参数设置系统环境变量--------- 22 Do 23 InputKey = InputBox("请输入系统变量名") 24 If InputKey = VbEmpty Then 25 MsgBox "已取消!" 26 Wscript.Quit 27 Else 28 If InputKey <> "" Then InputValue = Inputbox("请输入系统变量值"): Exit Do 29 End If 30 Loop 31 If InputValue = VbEmpty Then 32 MsgBox "已取消!" 33 Wscript.Quit 34 Else 35 SetEnv InputKey, InputValue 36 End If 37 MsgBox "系统变量设置成功!"
下面是程序执行画面,以供预览。
输入系统变量名:
输入系统变量值:
设置成功:
用户取消:
不逆袭,不 I T !
Can't fly , can't be an IT guy !
Can't fly , can't be an IT guy !