代码之家  ›  专栏  ›  技术社区  ›  noahlz

如何在不使用“我的电脑”对话框的情况下在Windows XP中设置系统环境变量

  •  7
  • noahlz  · 技术社区  · 16 年前

    是否可以从命令行执行此操作,或者是否有实用程序可以执行此操作?

    (请注意,我并不是指标准的批处理文件“SET”命令-我希望将环境变量设置为“全局”,而不仅仅是针对控制台窗口的生命周期)。

    3 回复  |  直到 16 年前
        1
  •  6
  •   Dirk Vollmar    8 年前

    http://vlaurie.com/computers2/Articles/environment.htm

    使用附加工具Setx.exe

    XP安装程序,但不是命令行工具 调用的setx.exe包含在 Windows XP Service Pack 2 Support Tools . 这个工具扩展了集合 be setx路径“%path%;C:\New Folder”

        2
  •  1
  •   joegtp    16 年前
        3
  •  1
  •   Patrick Cuff    16 年前

    以下是我用于此目的的一些VBScript:

    set args = WScript.Arguments
    Set objShell = WScript.CreateObject("WScript.Shell")
    Set colSystemEnvVars = objShell.Environment("System")
    Set colUserEnvVars = objShell.Environment("User")
    
    ' Parse args
    select case args.Count
    case 0, 1, 2
        help
    case 3
        sVariable = args(0)
        sValue = args(1)
        sScope = UCase(args(2))
        sMode = ""
    case 4
        sVariable = args(0)
        sValue = args(1)
        sScope = UCase(args(2))
        sMode = UCase(args(3))
    end select
    
    select case sScope
        case "S"
            if sMode = "A" then
                sValue = colSystemEnvVars(sVariable) & sValue
            end if
            colSystemEnvVars(sVariable) = sValue
        case "U"
            if sMode = "A" then
                sValue = colUserEnvVars(sVariable) & sValue
            end if
            colUserEnvVars(sVariable) = sValue
        case else
            help
    end select
    
    WScript.Quit
    
    '******************************************************************************
    Sub help()
        WScript.Echo ""
        WScript.Echo "Create or update an environment variable."
        WScript.Echo ""
        WScript.Echo "usage:"
        WScript.Echo "======"  
        WScript.Echo "cscript SetVar.vbs variable value {S|U} [A]"
        WScript.Echo ""
        WScript.Echo "eg:"
        WScript.Echo "==="     
        WScript.Echo "cscript SetVar.vbs MYVAR 'Hello world' U"
        WScript.Echo "cscript SetVar.vbs PATH 'C:\MyPath' S A"
    
        WScript.Quit
    End Sub