【问题标题】:Can a script.bat make changes to Windows PATH Environment Variablescript.bat 可以更改 Windows PATH 环境变量吗
【发布时间】:2011-04-19 15:05:50
【问题描述】:

我正在尝试编写一个脚本,单击该脚本会在 Windows 的 PATH 环境变量中添加几个条目,而不是手动进行更改。由于各种原因,我看到 .bat 文件一直在 Windows 上使用,那么 .bat 脚本可以帮助我解决类似的问题吗?

我实际上需要从 Internet 上的某个位置下载一个 zip,将其解压缩到指定位置,然后更新环境变量中的 PATH。以前从未这样做过,因此感谢任何提示。

【问题讨论】:

    标签: windows path environment-variables batch-file


    【解决方案1】:

    如果您希望在环境变量中永久更改/更新 PATH,可以使用 SETX 命令,例如

    setx path "%PATH%;C:\New Folder" 
    

    有关 %PATH% 和其他访问系统文件夹的变量的详细信息,请参阅http://vlaurie.com/computers2/Articles/environment.htm

    【讨论】:

    • 我试过了,%PATH%(系统变量)的值被添加到“C:\New Folder”之前。到目前为止,一切都很好。但是,它被保存为用户路径变量。然后,路径变量由附加到用户路径的系统路径组成。结果是所有系统路径目录都存在两次,并且“C:\ New Folder”卡在最后。下次你尝试追加一些东西时,你会得到系统目录 3 次,依此类推......
    • @JulianMann 您可能正在寻找/M 开关,它将设置系统环境而不是用户环境。多次运行它肯定会重复信息,因为 %PATH% 是一个引用您刚刚修改的当前环境的变量 - 它附加数据并且不打算多次修改。我建议手动编辑路径 var 以删除重复项 computerhope.com/issues/ch000549.htm> 然后只运行一次命令。如果您使用/M 标志,请务必以管理员权限执行命令。
    • @Marcus 感谢您提供的信息。在我的情况下,我将 bat 脚本提供给用户(没有管理员权限),以便他们可以将路径设置为指向我的软件。在基于 unix 的系统上,在 bash 中很容易做到这一点。如果变量不存在,则设置它,否则附加到它。 PATH 是由 Windows 上的 2 个部分组成的这一事实在工作中引发了一把扳手。
    • 警告! SETX 非常危险,因为它将 PATH 裁剪为 1024 个字符(是的,我们在 2017 年,Windows 10)。对我来说,使用它让我失去了一部分 PATH 和 2 小时的时间。不是相关的解决方案,除非您正在寻找麻烦......
    • NO, NO 再一次NO。此行损坏 用户 PATH 环境变量。它使用 local PATHsystemuser PATH 的所有文件夹路径,并将所有环境变量扩展为设置 user PATH 附加 C:\New Folder。这条线真的非常非常糟糕,任何阅读此答案的人都不应使用。太糟糕了。使用 local PATH 来设置 usersystem PATH 是绝对不行的,永远不会。
    猜你喜欢
    • 2012-03-30
    • 2021-05-06
    • 2010-10-04
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    相关资源
    最近更新 更多