是否有任何命令行工具可用于在 Windows 中编辑环境变量?
如果这是一个智能工具就好了,例如:
- 当添加一些路径到 PATH 变量并且该路径已经存在时,它不应该重复这个条目。
- 应该可以在某个路径之前/之后或者按照特定顺序(第一个、第七个、最后一个等等)将新路径插入到 PATH 变量中。
- 应该可以只改变变量值的一部分(如果是 PATH,则从所有路径的列表中给定一个路径)。
最后但同样重要的一点是 -我希望我的更改在会话之间保持不变因此简单的 SET 是不可能的......
有一个非常好用的 GUI 工具,叫做路径编辑器我需要类似的东西,但是用于命令行。
答案1
我不知道有什么工具可以做到这一点,但也许你可以使用以下reg
命令:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path
读取当前路径,并
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /d "newPath" /f
写下你的新价值。
您需要管理员权限才能在 HKLM 中拥有正确访问权限。如果这是个问题,请考虑修改用户特定路径设置 HKCU\Environment
。
答案2
如果您需要一种通用的方法来设置任何环境变量并使更改持久,那么执行程序将是可以使用的工具。但它无法完成您要求的“智能”任务……
setx.exe 包含在 Windows Vista 或更高版本中;如果您使用早期版本的 Windows,则可以使用上述下载链接获取它。
答案3
对于当前程序,有path
:
显示或设置可执行文件的搜索路径。
PATH [[drive:]path[;...][;%PATH%] PATH ;
键入
PATH ;
以清除所有搜索路径设置并直接cmd.exe
仅在当前目录中搜索。键入
PATH
不带参数的命令可显示当前路径。%PATH%
在新路径设置中包含该命令会导致将旧路径附加到新设置中。
但是,这与 几乎相同set PATH
。
为了使环境变量持久,您必须编辑注册表或使用setx
。
答案4
您可能想要查看 gtools 集合的 pathed: http://www.p-nand-q.com/gtools.html
它为命令提示符提供了一组命令,例如
pathed /APPEND %CD% /USER
例如附加当前路径。说实话,我还没有真正检查过,因为我完全可以接受使用 GUI。
其他选项包括:
/MACHINE: print machine PATH
/USER: print user PATH
/ADD: add variable at the head
/APPEND: add variable at the tail
/REMOVE: remove path / index
/SLIM: strip duplicate vars
/ENV: environment variable, defaults to PATH
我想,结合使用同一系列中的哪些工具,您就拥有了一些不错的工具。哪些工具“将可执行文件定位在 PATH 上”。
/EXTENSION: search for extension , can be a ; separated list
/DIR: add directory , can be a ; separated list
/RECURSIVE: search directories recursively
/SINGLE: stop after the first find result
/ENV: environment variable, defaults to PATH
FILE {FILE}: one or more files to find