Ken
Ken

Reputation: 135

How to skip part of PowerShell script by starting script with flags or arguments

I am writing a script that presents the user with a menu of functions, but I also want to be able to run the script automatically from task scheduler which would mean I would need to skip the menu portion. Is there a way to do this with flags or arguments when starting the script (like "script.ps1 -auto" to skip the coding containing the menu, or just "script.ps1" to start)

I've performed internet searches for this, but have not yet found anything that I think is applicable. I'm not even sure if this is possible given the lack of information I've found (or not found).

script.ps1 script.ps1 -auto

Not to the point where error messages are applicable

Upvotes: 0

Views: 1365

Answers (1)

Peter Schneider
Peter Schneider

Reputation: 2929

You can use the [switch] parameter type in your param block.

param( [switch] $auto ) 

if ($auto) {
   # here goes the code if the parameter auto is set
} 
else {

}

See also this answer on SO, on how to handle command-line parameters with PowerShell.

Upvotes: 2

Related Questions