|
#1
|
|||
|
|||
Strange PowerShell behavior with arguments
When I pass command-line arguments to PowerShell, I can see them if I do this:
foreach ($i in $args) {Write-Host $i} And $args.count returns the correct number. However, whenever I try to access a specific arg, I always get an empty value. For example: Write-Host $args[0] Write-Host $args[1] This always generates nothing. Even looking at various posts online, I can see maybe I needed to do it like this: Write-Host $($args[0]) Write-Host $($args[1]) But that still returns nothing. I finally found one notation that works: param( $a, $b ) Write-Host $a Write-Host $b What I don't understand is why I can't access the values from $args[0], even though I can iterate through the array and get the values? |
#2
|
|||
|
|||
[ and ] are special characters in Visual Build step properties--you need to double them to escape (i.e., $args[[0]]).
http://www.kinook.com/VisBuildPro/Ma...ershelltab.htm |
#3
|
|||
|
|||
Ahhh...thank you. I doubled them elsewhere in the script and totally missed this.
|
Tags |
powershell |
|
|