Board logo

标题: [问题求助] VBS脚本Run方法怎么添加环境变量? [打印本页]

作者: 头顶冒烟    时间: 2017-8-27 16:27     标题: VBS脚本Run方法怎么添加环境变量?

  1.   Set VBS=CreateObject("wscript.shell")
  2. VBS.run "cmd /c set path=%path%;e:&pause"
复制代码
,写错了,谁能帮我找找原因?
作者: 再世情緣    时间: 2017-8-27 21:35

这样子添加的环境变量是临时的,等那个cmd.exe结束之后就还原了
作者: 头顶冒烟    时间: 2017-8-29 10:46

回复 2# 再世情緣
临时的也可以,就是我想知道这段代码怎样写才正确
作者: yu2n    时间: 2017-8-29 14:43

  1. Dim wso
  2. Set wso=CreateObject("wscript.shell")
  3. wso.run "cmd /V:ON /C" & _
  4. " echo 1. 設定環境變數" & _
  5. " & set ""path=%path%;e:"" & echo." & _
  6. " & echo 2. 顯示環境變數一" & _
  7. " & set path & echo." & _
  8. " & echo 3. 顯示環境變數二" & _
  9. " & echo !path! & echo." & _
  10. " & pause", 1, False
复制代码

作者: Spring    时间: 2017-8-30 12:01

环境变量有三个类型,
第一种,可能是大家修改的最多的,是全局的系统环境变量,对所有用户生效,称为 SYSTEM,
第二重,是我自己用的最多的,用户环境变量,仅对当前登录用户生效,称为 USER,
第三种,是程序运行时环境变量,仅在程序还活着的时候有效,称为PROCESS。

其中前面两种是能看见的,就是在电脑属性的高级设置里面,环境变量那一页,
上面那框是用户环境变量,下面那框是系统环境变量;
第三种看不见,并且在程序启动后不能从外部修改,只能运行的那个程序自己控制,
程序启动时默认加载,系统环境变量和用户环境变量的并集。
  1. Dim ws : Set ws = CreateObject("WScript.Shell")
  2. ' 查看环境变量
  3. WScript.Echo "此脚本运行时环境变量 PATH 值:" & vbCrLf & ws.Environment("Process")("PATH")
  4. WScript.Echo "用户环境变量 PATH 值:" & vbCrLf & ws.Environment("User")("PATH")
  5. WScript.Echo "系统环境变量 PATH 值:" & vbCrLf & ws.Environment("System")("PATH")
  6. ' 设置环境变量
  7. ' 修改运行时的环境变量
  8. ws.Environment("Process")("天王盖地虎") = "宝塔镇河妖"
  9. ws.Run "cmd /c echo %天王盖地虎% & pause", 1, True
  10. ' 将桌面添加到用户环境变量 PATH
  11. ws.Environment("User")("PATH") = ws.Environment("User")("PATH") & ";%USERPROFILE%\Desktop"
  12. ' 启动程序时继承父程序的环境变量,
  13. ' 修改用户变量和系统环境变量都需要重启程序才生效,
  14. ' 因此已经在运行的程序读取不到新添加的path
  15. ws.Run "cmd /c echo %path% & pause", 1, True
  16. ' 注意:修改系统环境变量需要管理员权限
  17. ' 将 E: 添加到系统环境变量 PATH
  18. ws.Environment("System")("PATH") = ws.Environment("System")("PATH") & ";E:"
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2