如何在配置文件中定义的 PowerShell 脚本中设置环境变量?
Posted
技术标签:
【中文标题】如何在配置文件中定义的 PowerShell 脚本中设置环境变量?【英文标题】:How to set environment variables in a PowerShell script defined in a configuration file? 【发布时间】:2021-07-07 09:25:06 【问题描述】:我有一个简单的批量偏好系统。 bat 将 .ini 重命名为 .bat 并调用它。 .ini 中的变量或选项将以这种方式初始化。 所以我可以用它来创建一个多语言的批处理文件。 现在我开始学习 PowerShell。我想要同样的功能。
我的文件:
MyFile.bat - 初始化 ini 并制作一些其他东西...:
ren User-Generated\preferences.ini preferences.bat
call User-Generated\preferences.bat
ren User-Generated\preferences.bat preferences.ini
echo Your language is %locale%.
...
这里有preferences.ini - 在她里面,保存了所有选项,例如。语言:
set locale=de
set cancelled=true
set firstrun=false
现在我可以为 PowerShell 创建相同的preferences.ini:
$locale="de"
$cancelled="true"
$firstrun="false"
我的问题:
我需要使用 PowerShell 脚本调用 ini。 该怎么做?
@mofi 写道,我们也可以用这个 for 循环来实现:
for /F "usebackq delims=" %%I in ("%~dp0User-Generated\preferences.ini") do set "%%I"
但是如何将其“转换”为 PowerShell?
感谢您的帮助!
JJB
【问题讨论】:
【参考方案1】:您使用set 定义了一些环境变量。 您可以在 PowerShell 中使用 $env 执行相同的操作。
$env:locale="de"
$env:cancelled="true"
$env:firstrun="false"
要调用您的 bat 脚本,您可以使用 call operator。
& 'cmd.exe' @('/c', 'call', 'LoadPreferences.bat')
【讨论】:
以上是关于如何在配置文件中定义的 PowerShell 脚本中设置环境变量?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 .bat 文件中的变量导入 PowerShell 脚本?
配置 electron-builder 运行 powershell 脚本