一般来说,在StackOverflow和网络上,有关如何将特定文件夹添加到用户的Windows 10 Path环境变量的过时指南.
我认为对于具有分步说明和屏幕截图的新开发人员来说,完整的指南可能非常有用,可以帮助他们从命令提示符执行实用程序而无需完整路径,从而简化了操作.
Mat*_*Pag 24
对于带领下,我们要添加一个名为为例工具mytool.exe,位于C:\Users\NewFolderInPath\mytool.exe,使每次我想要执行的mytool公用事业我没有指定的完整路径.
我用这个作为一个例子,你可以像这里位于JDK bin目录更现实的替换文件夹C:\Program Files\Java\{JDK_VERSION}\bin来执行javac,keytool你想要或其他.
第1步 - 单击
Windows图标
第2步 - 单击
Settings图标
第3步 - 点击
System
第4步 - 点击
About
第5步 - 点击
System info
第6步 - 点击
Advanced system settings
第7步 - 点击
Environment variables...
步骤8 - 选择
Path行,然后单击Edit
步骤9 - 单击
New,然后单击Browse,然后在下一个将打开的面板中,您需要在中选择所需的文件夹Path.对于本指南的初始前提,我将添加该文件夹C:\Users\NewFolderInPath
步骤10 - 单击
OK并单击OK您将遇到的每个按钮以关闭每个以前的窗口.
步骤11 - 打开a
command prompt (cmd),现在您可以执行实用程序而无需指定完整路径.
注意:对于每个问题,请在下面留下评论,我会尽快回答.祝你好运,快乐编码:)
Hac*_*ash 16
对于较旧的系统,这是完成的方式,如果您正在使用某种风格的 Dos,这是最简单的答案:
要在新行上打印 Windows PATH 变量的每个条目,请执行:
C:\> echo %PATH:;=&echo.%
为当前会话设置 Windows PATH 变量:
C:\> set PATH=%PATH%;C:\path\to\directory\
永久设置 Windows 路径
以管理员身份运行:setx 命令仅从 Windows 7 开始可用,并且需要提升的命令提示符。
将目录永久添加到用户 PATH 变量中:
C:\> setx path "%PATH%;C:\path\to\directory\"
将目录永久添加到系统 PATH 变量(对于所有用户):
C:\> setx /M path "%PATH%;C:\path\to\directory\"
在现代 Windows 上,您可以使用更现代的工具来避免使用 %PATH% 变量的现代实现所带来的一些陷阱。
以前的用户设置与系统设置现在称为用户设置与机器设置。他们是一样的。任何人都可以修改用户设置,并且只会影响他们自己的环境。修改计算机级别设置需要管理员权限,因为它们适用于所有用户。
要在新行上打印 Windows PATH 变量的每个条目,请执行:
[Environment]::GetEnvironmentVariable("PATH", "User").Split(";")
[Environment]::GetEnvironmentVariable("PATH", "Machine").Split(";")
设置 Windows PATH 避免 setx 方法的陷阱
我们要避免的两个主要问题是 1024 个字符限制和重复条目。使用现代SetEnvironmentVariable将避免 1024 个字符的限制,因此我们可以做一件简单的事情:
function Add-Path-User($newPath) {
$Path = [Environment]::GetEnvironmentVariable("PATH", "User") + [IO.Path]::PathSeparator + $newPath
[Environment]::SetEnvironmentVariable( "Path", $Path, "User" )
}
function Add-Path-Machine($newPath) {
$Path = [Environment]::GetEnvironmentVariable("PATH", "Machine") + [IO.Path]::PathSeparator + $newPath
[Environment]::SetEnvironmentVariable( "Path", $Path, "Machine" )
}
Run Code Online (Sandbox Code Playgroud)
但如果你想避免重复,你需要更多的参与:
Function Set-PathVariable {
param (
[string]$AddPath,
[ValidateSet('Process', 'User', 'Machine')]
[string]$Scope = 'Process'
)
$regexPaths = @()
if ($PSBoundParameters.Keys -contains 'AddPath') {
$regexPaths += [regex]::Escape($AddPath)
}
$arrPath = [System.Environment]::GetEnvironmentVariable('PATH', $Scope).Split([IO.Path]::PathSeparator)
foreach ($path in $regexPaths) {
$arrPath = $arrPath | Where-Object { $_ -notMatch "^$path\\?$" }
}
$value = ($arrPath + $addPath).Join([IO.Path]::PathSeparator)
[System.Environment]::SetEnvironmentVariable('PATH', $value, $Scope)
}
Run Code Online (Sandbox Code Playgroud)
除了@MatPag 的出色回答之外,您还可以通过单击窗口图标(左下角)并开始输入“环境”来跳过这些步骤中的前六个步骤,您甚至可以在输入该词之前看到一个选项说:“编辑系统环境变量”。
然后按照@MatPag 给出的其余步骤进行操作
| 归档时间: |
|
| 查看次数: |
21754 次 |
| 最近记录: |