Use a specific variable if output contains "somevalue"

%3CLINGO-SUB%20id%3D%22lingo-sub-2155736%22%20slang%3D%22en-US%22%3EUse%20a%20specific%20variable%20if%20output%20contains%20%22somevalue%22%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2155736%22%20slang%3D%22en-US%22%3E%3CP%3EI'm%20creating%20a%20form%20using%20Powershell%20and%20now%20I'm%20at%20a%20point%20where%20I%20need%20help%2C%20to%20get%20further%2C%20like%20shown%20below%3A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-applescript%22%3E%3CCODE%3EAdd-Type%20-AssemblyName%20System.Windows.Forms%0AAdd-Type%20-AssemblyName%20System.Drawing%0A%0A%23select%20region%0A%24form_region%20%3D%20New-Object%20System.Windows.Forms.Form%0A%24form_region.Text%20%3D%20'Country'%0A%24form_region.Size%20%3D%20New-Object%20System.Drawing.Size(300%2C200)%0A%24form_region.StartPosition%20%3D%20'CenterScreen'%0A%24form_region.TopMost%20%3D%20%24true%0A%0A%24okButton_region%20%3D%20New-Object%20System.Windows.Forms.Button%0A%24okButton_region.Location%20%3D%20New-Object%20System.Drawing.Point%20(75%2C120)%0A%24okButton_region.Size%20%3D%20New-Object%20System.Drawing.Size%20(75%2C23)%0A%24okButton_region.Text%20%3D%20%22OK%22%0A%24okButton_region.DialogResult%20%3D%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK%0A%24form_region.AcceptButton%20%3D%20%24okButton_region%0A%24form_region.Controls.Add(%24okButton_region)%0A%0A%24cancelButton_region%20%3D%20New-Object%20System.Windows.Forms.Button%0A%24cancelButton_region.Location%20%3D%20New-Object%20System.Drawing.Point%20(150%2C120)%0A%24cancelButton_region.Size%20%3D%20New-Object%20System.Drawing.Size%20(75%2C23)%0A%24cancelButton_region.Text%20%3D%20%22Cancel%22%0A%24cancelButton_region.DialogResult%20%3D%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3ACancel%0A%24form_region.CancelButton%20%3D%20%24cancelButton_region%0A%24form_region.Controls.Add(%24cancelButton_region)%0A%0A%24label_region%20%3D%20New-Object%20System.Windows.Forms.Label%0A%24label_region.Location%20%3D%20New-Object%20System.Drawing.Point%20(10%2C20)%0A%24label_region.Size%20%3D%20New-Object%20System.Drawing.Size%20(280%2C20)%0A%24label_region.Text%20%3D%20%22Please%20make%20a%20selection%20from%20the%20list%20below%3A%22%0A%24form_region.Controls.Add(%24label_region)%0A%0A%24Box_region%20%3D%20New-Object%20System.Windows.Forms.ListBox%0A%24Box_region.Location%20%3D%20New-Object%20System.Drawing.Point%20(10%2C40)%0A%24Box_region.Size%20%3D%20New-Object%20System.Drawing.Size%20(260%2C70)%0A%0A%5Bvoid%5D%20%24Box_region.Items.AddRange(%40(%22APAC%22%2C%22EU%22%2C%22LATAM%22%2C%22NA%22))%0A%0A%24form_region.Controls.Add(%24Box_region)%0A%0Ado%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%24result_region%20%3D%20%24form_region.ShowDialog()%0A%20%20%20%20%20%20%20%20if%20(%24Box_region.SelectedIndices.Count%20-lt%201%20-and%20%24result_region%20-eq%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK)%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BSystem.Windows.Forms.MessageBox%5D%3A%3AShow(%22Nothing%20was%20selected%2C%20please%20select%20a%20path%20first%22%2C%22WARNING%22%2C0%2C%5BSystem.Windows.Forms.MessageBoxIcon%5D%3A%3AWarning)%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7Duntil%20((%24result_region%20-eq%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK%20-and%20%24Box_region.SelectedIndices.Count%20-ge%201)%20-or%20%24result_region%20-ne%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK)%0A%20%20%20%20%0A%0A%0A%20%20%20%20%23Select%20Location%0A%20%20%20%20if%20((%24Box_region.SelectedItem%20-eq%20%22EU%22)%20-and%20(%24result_region%20-eq%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK))%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU%20%3D%20New-Object%20System.Windows.Forms.Form%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.Text%20%3D%20'Locations'%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.Size%20%3D%20New-Object%20System.Drawing.Size(300%2C200)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.StartPosition%20%3D%20'CenterScreen'%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.TopMost%20%3D%20%24true%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%24okButton_EU%20%3D%20New-Object%20System.Windows.Forms.Button%0A%20%20%20%20%20%20%20%20%20%20%20%20%24okButton_EU.Location%20%3D%20New-Object%20System.Drawing.Point%20(75%2C120)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24okButton_EU.Size%20%3D%20New-Object%20System.Drawing.Size%20(75%2C23)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24okButton_EU.Text%20%3D%20%22OK%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24okButton_EU.DialogResult%20%3D%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.AcceptButton%20%3D%20%24okButton_EU%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.Controls.Add(%24okButton_EU)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%24cancelButton_EU%20%3D%20New-Object%20System.Windows.Forms.Button%0A%20%20%20%20%20%20%20%20%20%20%20%20%24cancelButton_EU.Location%20%3D%20New-Object%20System.Drawing.Point%20(150%2C120)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24cancelButton_EU.Size%20%3D%20New-Object%20System.Drawing.Size%20(75%2C23)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24cancelButton_EU.Text%20%3D%20%22Cancel%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24cancelButton_EU.DialogResult%20%3D%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3ACancel%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.CancelButton%20%3D%20%24cancelButton_EU%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.Controls.Add(%24cancelButton_EU)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%24label_EU%20%3D%20New-Object%20System.Windows.Forms.Label%0A%20%20%20%20%20%20%20%20%20%20%20%20%24label_EU.Location%20%3D%20New-Object%20System.Drawing.Point%20(10%2C20)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24label_EU.Size%20%3D%20New-Object%20System.Drawing.Size%20(280%2C20)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24label_EU.Text%20%3D%20%22Please%20make%20a%20selection%20from%20the%20list%20below%3A%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.Controls.Add(%24label_EU)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%24Box_EU%20%3D%20New-Object%20System.Windows.Forms.ListBox%0A%20%20%20%20%20%20%20%20%20%20%20%20%24Box_EU.Location%20%3D%20New-Object%20System.Drawing.Point%20(10%2C40)%0A%20%20%20%20%20%20%20%20%20%20%20%20%24Box_EU.Size%20%3D%20New-Object%20System.Drawing.Size%20(260%2C70)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%5Bvoid%5D%20%24Box_EU.Items.AddRange(%40(%22AUT_Leonding_1%22%2C%22AUT_Leonding_2%22%2C%22AUT_Neidling%22%2C%22DEU_Karlsruhe%22%2C%22DEU_Luckenwalde%22%2C%22DEU_Mogendorf%22%2C%22FRA_Lyon%22%2C%22ITA_Rovereto%22))%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%24form_location_EU.Controls.Add(%24Box_EU)%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%24AUT_Leonding_1%20%3D%20%22my.domain%2FA_Leonding_1%2FUsers%2F_FunctionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24AUT_Leonding_2%20%3D%20%22my.domain%2FA_Leonding_2%2FUsers%2F_FunctionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24AUT_Neidling%20%3D%20%22my.domain%2FA_Neidling%2FUsers%2F_FuntionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24DEU_Karlsruhe%20%3D%20%22my.domain%2FD_Karlsruhe%2FUsers%2F_FuntionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24DEU_Luckenwalde%3D%20%22my.domain%2FD_Luckenwalde%2FUsers2%2F_FuntionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24DEU_Mogendorf%20%3D%20%22my.domain%2FD_Mogendorf%2FUsers%2F_FunctionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24FRA_Lyon%20%3D%20%22my.domain%2FFR_Lyon%2FUsers%2F_FuntionUser%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%24ITA_Rovereto%20%3D%20%22my.domain%2FIT_Rovereto%2FUsers%2F_FunctionUser%22%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20do%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24result_location_EU%20%3D%20%24form_location_EU.ShowDialog()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(%24Box_EU.SelectedIndices.Count%20-lt%201%20-and%20%24result_location_EU%20-eq%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5BSystem.Windows.Forms.MessageBox%5D%3A%3AShow(%22Nothing%20was%20selected%2C%20please%20select%20a%20location%20first%22%2C%22WARNING%22%2C0%2C%5BSystem.Windows.Forms.MessageBoxIcon%5D%3A%3AWarning)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7Duntil%20((%24result_location_EU%20-eq%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK%20-and%20%24Box_EU.SelectedIndices.Count%20-ge%201)%20-or%20%24result_location_EU%20-ne%20%5BSystem.Windows.Forms.DialogResult%5D%3A%3AOK)%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EIn%20the%20listBox%20there%20are%205%20possible%20Cities%20to%20choose%20from%2C%20if%20you%20pick%20%22Karlsruhe%22%20for%20example%2C%20the%20output%20will%20be%20%22Karlsruhe%22%20as%20well%2C%20so%20far%20so%20good...%3C%2FP%3E%3CP%3ENow%20the%20Problem%3A%3C%2FP%3E%3CP%3EIf%20the%20output%20is%20%22Karlsruhe%22%20I%20want%20to%20select%20the%20corresponding%20variable%20%22Karlsruhe%22%2C%20if%20%22Luckenwalde%22%20is%20chosen%2C%20I%20want%20to%20use%20the%20variable%20%22Luckenwalde%22%20and%20so%20on.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EIs%20there%20a%20way%20to%20compare%20the%20output%20of%20%22%24x%22%20with%20the%20name%20of%20the%20variable%20and%20select%20the%20corresponding%20one%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EEDIT%201%3A%3C%2FP%3E%3CP%3EIs%20there%20a%20way%20to%20display%20the%20name%20of%20the%20variable%20in%20this%20context%20not%20the%20contains%3F%3C%2FP%3E%3CP%3Ee.g.%2C%3C%2FP%3E%3CP%3E%24Variable%20%3D%20%22something%22%3C%2FP%3E%3CP%3Eif%20I%20would%20use%20%22%20%5Bvoid%5D%20%24listBox.Items.Add(%24Variable)%20%22%20%2C%20the%20containing%20value%20would%20be%20displayed%20and%20the%20button%20would%20say%20'something'%2C%20is%20there%20a%20way%20to%20use%20the%20Variable-name%20instead%2C%20so%20the%20button%20would%20say%20%22Variable%22%20instead%20of%20%22something%22%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CBR%20%2F%3EGreetings%3C%2FP%3E%3CP%3EYannik%20Schulz%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2155736%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EWindows%20PowerShell%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Contributor

I'm creating a form using Powershell and now I'm at a point where I need help, to get further, like shown below:

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

#select region
$form_region = New-Object System.Windows.Forms.Form
$form_region.Text = 'Country'
$form_region.Size = New-Object System.Drawing.Size(300,200)
$form_region.StartPosition = 'CenterScreen'
$form_region.TopMost = $true

$okButton_region = New-Object System.Windows.Forms.Button
$okButton_region.Location = New-Object System.Drawing.Point (75,120)
$okButton_region.Size = New-Object System.Drawing.Size (75,23)
$okButton_region.Text = "OK"
$okButton_region.DialogResult = [System.Windows.Forms.DialogResult]::OK
$form_region.AcceptButton = $okButton_region
$form_region.Controls.Add($okButton_region)

$cancelButton_region = New-Object System.Windows.Forms.Button
$cancelButton_region.Location = New-Object System.Drawing.Point (150,120)
$cancelButton_region.Size = New-Object System.Drawing.Size (75,23)
$cancelButton_region.Text = "Cancel"
$cancelButton_region.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
$form_region.CancelButton = $cancelButton_region
$form_region.Controls.Add($cancelButton_region)

$label_region = New-Object System.Windows.Forms.Label
$label_region.Location = New-Object System.Drawing.Point (10,20)
$label_region.Size = New-Object System.Drawing.Size (280,20)
$label_region.Text = "Please make a selection from the list below:"
$form_region.Controls.Add($label_region)

$Box_region = New-Object System.Windows.Forms.ListBox
$Box_region.Location = New-Object System.Drawing.Point (10,40)
$Box_region.Size = New-Object System.Drawing.Size (260,70)

[void] $Box_region.Items.AddRange(@("APAC","EU","LATAM","NA"))

$form_region.Controls.Add($Box_region)

do
    {
        $result_region = $form_region.ShowDialog()
        if ($Box_region.SelectedIndices.Count -lt 1 -and $result_region -eq [System.Windows.Forms.DialogResult]::OK)
            {
                [System.Windows.Forms.MessageBox]::Show("Nothing was selected, please select a path first","WARNING",0,[System.Windows.Forms.MessageBoxIcon]::Warning)
            }
    }until (($result_region -eq [System.Windows.Forms.DialogResult]::OK -and $Box_region.SelectedIndices.Count -ge 1) -or $result_region -ne [System.Windows.Forms.DialogResult]::OK)
    


    #Select Location
    if (($Box_region.SelectedItem -eq "EU") -and ($result_region -eq [System.Windows.Forms.DialogResult]::OK))
        {
            $form_location_EU = New-Object System.Windows.Forms.Form
            $form_location_EU.Text = 'Locations'
            $form_location_EU.Size = New-Object System.Drawing.Size(300,200)
            $form_location_EU.StartPosition = 'CenterScreen'
            $form_location_EU.TopMost = $true

            $okButton_EU = New-Object System.Windows.Forms.Button
            $okButton_EU.Location = New-Object System.Drawing.Point (75,120)
            $okButton_EU.Size = New-Object System.Drawing.Size (75,23)
            $okButton_EU.Text = "OK"
            $okButton_EU.DialogResult = [System.Windows.Forms.DialogResult]::OK
            $form_location_EU.AcceptButton = $okButton_EU
            $form_location_EU.Controls.Add($okButton_EU)

            $cancelButton_EU = New-Object System.Windows.Forms.Button
            $cancelButton_EU.Location = New-Object System.Drawing.Point (150,120)
            $cancelButton_EU.Size = New-Object System.Drawing.Size (75,23)
            $cancelButton_EU.Text = "Cancel"
            $cancelButton_EU.DialogResult = [System.Windows.Forms.DialogResult]::Cancel
            $form_location_EU.CancelButton = $cancelButton_EU
            $form_location_EU.Controls.Add($cancelButton_EU)

            $label_EU = New-Object System.Windows.Forms.Label
            $label_EU.Location = New-Object System.Drawing.Point (10,20)
            $label_EU.Size = New-Object System.Drawing.Size (280,20)
            $label_EU.Text = "Please make a selection from the list below:"
            $form_location_EU.Controls.Add($label_EU)

            $Box_EU = New-Object System.Windows.Forms.ListBox
            $Box_EU.Location = New-Object System.Drawing.Point (10,40)
            $Box_EU.Size = New-Object System.Drawing.Size (260,70)

            [void] $Box_EU.Items.AddRange(@("AUT_Leonding_1","AUT_Leonding_2","AUT_Neidling","DEU_Karlsruhe","DEU_Luckenwalde","DEU_Mogendorf","FRA_Lyon","ITA_Rovereto"))

            $form_location_EU.Controls.Add($Box_EU)

            $AUT_Leonding_1 = "my.domain/A_Leonding_1/Users/_FunctionUser"
            $AUT_Leonding_2 = "my.domain/A_Leonding_2/Users/_FunctionUser"
            $AUT_Neidling = "my.domain/A_Neidling/Users/_FuntionUser"
            $DEU_Karlsruhe = "my.domain/D_Karlsruhe/Users/_FuntionUser"
            $DEU_Luckenwalde= "my.domain/D_Luckenwalde/Users2/_FuntionUser"
            $DEU_Mogendorf = "my.domain/D_Mogendorf/Users/_FunctionUser"
            $FRA_Lyon = "my.domain/FR_Lyon/Users/_FuntionUser"
            $ITA_Rovereto = "my.domain/IT_Rovereto/Users/_FunctionUser"

            do
                {
                    $result_location_EU = $form_location_EU.ShowDialog()
                    if ($Box_EU.SelectedIndices.Count -lt 1 -and $result_location_EU -eq [System.Windows.Forms.DialogResult]::OK)
                        {
                            [System.Windows.Forms.MessageBox]::Show("Nothing was selected, please select a location first","WARNING",0,[System.Windows.Forms.MessageBoxIcon]::Warning)
                        }
                }until (($result_location_EU -eq [System.Windows.Forms.DialogResult]::OK -and $Box_EU.SelectedIndices.Count -ge 1) -or $result_location_EU -ne [System.Windows.Forms.DialogResult]::OK)

In the listBox there are 5 possible Cities to choose from, if you pick "Karlsruhe" for example, the output will be "Karlsruhe" as well, so far so good...

Now the Problem:

If the output is "Karlsruhe" I want to select the corresponding variable "Karlsruhe", if "Luckenwalde" is chosen, I want to use the variable "Luckenwalde" and so on.

 

Is there a way to compare the output of "$x" with the name of the variable and select the corresponding one?

 

EDIT 1:

Is there a way to display the name of the variable in this context not the contains?

e.g.,

$Variable = "something"

if I would use " [void] $listBox.Items.Add($Variable) " , the containing value would be displayed and the button would say 'something', is there a way to use the Variable-name instead, so the button would say "Variable" instead of "something"?

 


Greetings

Yannik Schulz

0 Replies