[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

  1.   Set VBS=CreateObject("wscript.shell")
  2. VBS.run "cmd /c set path=%path%;e:&pause"
复制代码
,写错了,谁能帮我找找原因?

环境变量有三个类型,
第一种,可能是大家修改的最多的,是全局的系统环境变量,对所有用户生效,称为 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:"
复制代码
1

评分人数

    • yu2n: 感谢分享技术 + 1

TOP

  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
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

回复 2# 再世情緣
临时的也可以,就是我想知道这段代码怎样写才正确

TOP

这样子添加的环境变量是临时的,等那个cmd.exe结束之后就还原了

TOP

返回列表