gpt4 book ai didi

powershell - 将环境变量转成数组

转载 作者:行者123 更新时间:2023-12-03 14:30:18 24 4
gpt4 key购买 nike

我需要将数组传递给 PowerShell 子进程,并且想知道如何将环境变量(字符串)转换为 PowerShell 数组。是否有我需要遵循的约定,以便 PowerShell 会自动为我完成,或者我只需要自己解析它?

我正在寻找类似于 bash 可以做的事情。如果我设置了一个环境变量,例如:

MYARR = one two three

它会被 bash 自动解释为一个数组,所以我可以这样做:
for a in ${MYARR[@]} ; do
echo Element: $a
done

这将返回:
Element: one
Element: two
Element: three

有没有办法在 PowerShell 中做同样的事情?

最佳答案

在使用的任何分隔符处拆分环境变量的值。例子:

PS C:\> $env:PathC:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\PS C:\> $a = $env:Path -split ';'PS C:\> $aC:\WINDOWS\system32C:\WINDOWSC:\WINDOWS\System32\WbemC:\WINDOWS\System32\WindowsPowerShell\v1.0\PS C:\> $a.GetType().FullNameSystem.String[]

Edit: The PowerShell equivalent to bash code like this

for a in ${MYARR[@]} ; do
echo Element: $a
done

将会
$MYARR -split '\s+' | ForEach-Object {
"Element: $_"
}

如果变量是实际环境变量而不是 PowerShell 变量,请使用 $env:MYARR 而不是 $MYARR

关于powershell - 将环境变量转成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30868253/

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