Create powrshell variables in a loop

12/01/2013 01:13

#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 $_

        }

  }