View Single Post
  #1  
Old 06-23-2015, 02:04 PM
mevans mevans is online now
Registered User
 
Join Date: 04-21-2015
Posts: 31
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?
Reply With Quote