dimanche 4 décembre 2016

Powershell if and else if- not working

im writing a code which asks the user to mark certain files that he wants and then it creates a file and changes it accordingly, just wrote hello for now. the problem is that it only works in the if section, and not in the else if. couldnt find an answer online. its a little messy as i dont know very much about powershell, thanks for the help!

thats my code so far:

 [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") 
 [void] [System.Reflection.Assembly]::LoadWithPartialName    ("System.Windows.Forms") 

 #This creates the path for the Json
 New-Item c:\users\$env:USERNAME\documents -ItemType directory -Name Json

 #creating the form
 $objForm = New-Object System.Windows.Forms.Form 
 $objForm.Text = "Ofir`s script"
 $objForm.Size = New-Object System.Drawing.Size(270,200) 
 $objForm.StartPosition = "CenterScreen"

 #creating the label
 $objLabel = New-Object System.Windows.Forms.Label
 $objLabel.Location = New-Object System.Drawing.Size(10,20) 
 $objLabel.Size = New-Object System.Drawing.Size(280,20) 
 $objLabel.Text = "Please check the relevant boxes:"
 $objForm.Controls.Add($objLabel)

 #This creates a checkbox called dsp.z
 $objDspCheckbox = New-Object System.Windows.Forms.Checkbox 
 $objDspCheckbox.Location = New-Object System.Drawing.Size(10,40) 
 $objDspCheckbox.Size = New-Object System.Drawing.Size(500,20)
 $objDspCheckbox.Text = "dsp.z"
 $objDspCheckbox.TabIndex = 0
 $objForm.Controls.Add($objDspCheckbox)

 #This creates a checkbox called fpga.bin
 $objFpgaCheckbox = New-Object System.Windows.Forms.Checkbox 
 $objFpgaCheckbox.Location = New-Object System.Drawing.Size(10,60) 
 $objFpgaCheckbox.Size = New-Object System.Drawing.Size(500,20)
 $objFpgaCheckbox.Text = "fpga.bin"
 $objFpgaCheckbox.TabIndex = 1
 $objForm.Controls.Add($objFpgaCheckbox)

 #This creates a checkbox called bootrom_uncmp.bin
 $objBootCheckbox = New-Object System.Windows.Forms.Checkbox 
 $objBootCheckbox.Location = New-Object System.Drawing.Size(10,80) 
 $objBootCheckbox.Size = New-Object System.Drawing.Size(500,20)
 $objBootCheckbox.Text = "bootrom_uncmp.bin"
 $objBootCheckbox.TabIndex = 2
 $objForm.Controls.Add($objBootCheckbox)

 #ok Button 
 $OKButton = New-Object System.Windows.Forms.Button
 $OKButton.Location = New-Object System.Drawing.Size(40,120)
 $OKButton.Size = New-Object System.Drawing.Size(75,23)
 $OKButton.Text = "OK"
 $OKButton.Add_Click({if ($objDspCheckbox.Checked -eq $true)
 {
 New-Item c:\users\$env:USERNAME\documents\Json -itemtype file -name file.json -value "Hello" ;$objForm.close()}
 }
 )

 elseif ($objFpgaCheckbox.Checked -eq $true)
 {
 New-Item c:\users\$env:USERNAME\documents\Json -itemtype file -name file.json -value "Hello2" ;$objForm.close()
 }

 elseif ($objBootCheckbox.Checked -eq $true)
 {
 New-Item c:\users\$env:USERNAME\documents\Json -itemtype file -name file.json -value "Hello3" ;$objForm.close()
 }

 $objForm.Controls.Add($OKButton)



 #cancle Button
 $CancelButton = New-Object System.Windows.Forms.Button
 $CancelButton.Location = New-Object System.Drawing.Size(140,120)
 $CancelButton.Size = New-Object System.Drawing.Size(75,23)
 $CancelButton.Text = "Cancel"
 $CancelButton.Add_Click({$objForm.Close()})
 $objForm.Controls.Add($CancelButton)


 #makes the form appear on top of the screen
 $objForm.Topmost = $True

 $objForm.Add_Shown({$objForm.Activate()})
 [void] $objForm.ShowDialog()




Aucun commentaire:

Enregistrer un commentaire