gpt4 book ai didi

windows - powershell脚本中引用默认路径

转载 作者:行者123 更新时间:2023-12-02 18:12:37 25 4
gpt4 key购买 nike

如果当前终端中的路径已更改,是否可以调用系统路径?即:

$env:Path = "C:\some new path"   
#some coding that requires a different path set up
$env:Path = $defaultPath #would have to define $defaultPath by calling the system default path

最佳答案

使用以下命令从注册表重新加载 $env:PATH 环境变量,因为 future session 将看到它(假设没有进行进一步的相关注册表更新)。

如果您当前的 session 尚未进行任何相关的注册表更新,则这与获取 session 启动时生效的值相同 - 禁止通过 $PROFILE script 进行任何动态添加。 :

$env:PATH = [Environment]::GetEnvironmentVariable('Path', 'Machine'),
[Environment]::GetEnvironmentVariable('Path', 'User') -join ';'

注意:

  • 进程的有效$env:PATH值是机器级别的复合值。用户级注册表项,机器级定义优先,如上面的两个 .NET API 调用所示。

    • 请注意,底层注册表位置 - HKEY_LOCAL_MACHIN\System\CurrentControlSet\Control\Session Manager\EnvironmentHKEY_CURRENT_USER\Environment - 是 REG_EXPAND_SZ 注册表值,即它们可以根据其他环境变量进行定义,例如 %SystemRoot%%ProgramFiles%

    • 上面的 .NET API 调用 - 使用 [Environment]::GetEnvironmentVariable() - 和 PowerShell 的 Get-ItemPropertyGet-ItemPropertyValue cmdlet 扩展(插入)此类引用并返回逐字路径 - 这也是新进程默认看到的。

  • 鉴于上述情况,可靠检索 session 启动时有效的值的唯一方法是在启动时将其保存在变量中 .

关于windows - powershell脚本中引用默认路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72071650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com