使用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, "", "\") & "\?(|;)") 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 "系统变量设置成功!"

下面是程序执行画面,以供预览。

输入系统变量名:

输入系统变量值:

设置成功:

用户取消:

原文地址:https://www.cnblogs.com/0weibin/p/4692237.html