powershell - 如何使用powershell设置环境变量可以随时访问?
问题描述
我有这种格式的文本文件12345
。我想将该值设置为环境变量,即使 powershell 关闭我也可以访问它。当我想从命令行访问该环境变量时,我的期望是,我只使用这个命令:echo %ID%
我会显示12345
$file = Get-Content .\file.txt
$Variable = "ID"
[Environment]::SetEnvironmentVariable("$Variable", "$file")
更新代码
我试过了,但我仍然无法从命令行使用此命令获取环境变量:echo %ID%
$file = Get-Content .\file.txt
$Variable = "ID"
[Environment]::SetEnvironmentVariable("$Variable", "$file",1)
[Environment]::SetEnvironmentVariable("$Variable", "$file","User")
解决方案
第三个参数[Environment]::SetEnvironmentVariable
允许您选择环境变量目标。默认值为当前进程,因此使用两个参数调用只会使变量可用于当前 PowerShell 会话。
如果您有权限,您可以在机器级别 (2) 启用环境变量,或者:
[Environment]::SetEnvironmentVariable("$Variable", "$file",2)
[Environment]::SetEnvironmentVariable("$Variable", "$file","Machine")
或者,只是用户级别 (1),或者:
[Environment]::SetEnvironmentVariable("$Variable", "$file",1)
[Environment]::SetEnvironmentVariable("$Variable", "$file","User")
- “机器级别”
HKEY_LOCAL_MACHINE
在注册表中。 - “用户级别”是
HKEY_CURRENT_USER
https://docs.microsoft.com/en-us/dotnet/api/system.environmentvariabletarget?view=netframework-4.7.2
推荐阅读
- python - Python在匹配之前加入匹配的行
- r - 字符串缩写创建重复项
- c++ - 如何优化这段 C++ 代码?
- c# - 如何使用 iText 和 htmltopdf 添加对外部样式表的引用
- postgresql - row_number() 总是返回 1,因为源表只有一行
- boolean - If/Switch/Case 或 HQL/SQL 中 SELECT 语句中的简单布尔运算
- python - 从数据库中获取数据、操作数据并将计算保存到 csv 的最快方法
- python - 程序可以检测它是否是通过 shell 启动的吗?
- laravel - Laravel 身份验证记住我功能不起作用
- javascript - 有没有办法自动按下 Google App Script msgBox 上的 OK 按钮?