Есть ли способ получить только локально объявленные переменные в сценарии powershell?Как перечислять все локально объявленные переменные скрипта?
В этом Snippit, я хотел бы его вернуть только myVar1
, myVar2
, anotherVar
:
$myVar1 = "myVar1"
$myVar2 = "myVar2"
$anotherVar = "anotherVar"
Get-Variable -Scope Script
Но вместо этого он возвращает массу других локальных переменных сценария.
Проблема, которую я пытаюсь решить, и, возможно, вы можете предложить другой способ, заключается в том, что у меня есть много сценариев Powershell, у которых есть куча переменных переменных, объявленных вверху.
Я хочу экспортировать их все на диск (xml) для импорта позже.
Итак, чтобы позвонить Get-Variable bla* | Export-Clixml vars.xml
, мне нужно знать все имена переменных.
Так есть способ, которым я могу, как сделать
$allVars = {
$myVar1 = "alex"
$myVar2 = "iscool"
$anotherVar = "thisisanotherVar"
}
Get-Variable allVars | Export-Clixml "C:\TEMP\AllVars.xml"
А потом Import-Clixml .\AllVars.xml | %{ Set-Variable $_.Name $_.Value }
?
Чтобы остальная часть скрипта могла использовать $myVar1
и т. Д. Без существенных изменений в том, что уже написано?
'ls variable:' должно быть в порядке? – 4c74356b41
Он получает всевозможные другие переменные, которые я бы не хотел загружать, например, «PWD». –