Create powrshell variables in a loop
#Create variables with specific names in a loop
#Create variables list
$variableNames=@("first", "second", "third", "fourth")
$variableList=@()
$i=1
foreach($varName in $variableNames)
{
if(Test-Path ("variable:\" + $varName))
{
Set-Variable $varName -Value $i
}
else
{
New-Variable $varName -Value $i
}
#Add variable to array
$variableList+=(Get-Variable $varName)
$i++
}
$variableList
Output:
Name Value
---- -----
first 1
second 2
third 3
fourth 4
#Creates variable array e. g. ($listUrl, $listName...) with given values
function CreateVariableList
{
param([array]$variableNames, [array]$variableValues)
$variableList=@()
$i=0
try
{
foreach($varName in $variableNames)
{
if(Test-Path ("variable:\" + $varName))
{
Set-Variable $varName -Value $variableValues[$i]
}
else
{
New-Variable $varName -Value $variableValues[$i]
}
#Add variable to array
$variableList+=(Get-Variable $varName)
$i++
}
return $variableList
}
catch
{
Write-Error $_
}
}