Parentheses, Brackets, and Braces
PowerShell commands can include parentheses (( )), brackets ([ ]), and braces ({ }). Braces are also referred to as "curly brackets" and even "funky brackets" by some. Each is interpreted differently within PowerShell.
Parentheses ( ) Parentheses are commonly used to provide arguments. For example, when a script needs to accept a parameter, you can use Param($input). Here the $input is identifi ed as an argument for the Param command.
Note The terms parameter and argument are often used interchangeably On one level, they are the same thing; but there is a subtle difference between the two A parameter is provided as input to a piece of code, and an argument is what is provided The value is the same but the perspective is different A parameter is passed in, and the value of this parameter is used as an argument within the code.
Brackets [ ] Brackets are used for various purposes. You'll see them used when accessing arrays, when using -like comparisons, and with some parameters. As an example, the following command uses them to indicate the output should include only names that start with a letter:
Get-wmiObject Win32_ComputerSystem | Format-List [a-z]*
Braces { } Braces are used to enclose a portion of code within a statement that is interpreted as a block of code. You'll see them in condition statements (like ForEach seen later in the tutorial). The following example shows how braces are used to separate the block in the Where clause in a single line of code:
Get-service | Select * | Where {$_.name -eq $Name}
The point here is not that you need to memorize when these characters need to be used. Instead, the goal is to let you know that all three could be used and, when you're executing code and writing scripts, to recognize each. If you replace curly braces with parentheses when you type in your own code, you'll fi nd things simply don't work.
In this tutorial:
- Working with the Command Prompt
- Starting and Ending a Command Prompt Session
- Easy ways to invoke administrator Command Prompt sessions
- Starting Command Prompt at a Particular Folder
- Strings with Spaces Need Quotes
- Cmd.exe vs. Command.com
- Commands Are Not Case Sensitive
- Starting Command Prompt and Running a Command
- Cmd.exe and Other Command Prompts
- Using AutoRun to Execute Commands When Command Prompt Starts
- Using Cmds Command-Line Syntax
- Using Commands
- Type /? for help
- Starting Programs
- Open Windows Explorer at the current Command Prompt folder
- Using File-Name and Folder-Name Completion
- Use a different completion character
- Using Wildcards
- Editing the Command Line
- Using Command Symbols
- The Redirection Symbols
- The Pipe Symbol
- The Command Combination Symbols
- Pausing or Canceling Commands
- Simplifying Command Entry with Doskey Macros
- DOSKEY Saves Typing
- System Variables Identify the Environment
- Viewing Environment Variables
- Modifying Environment Variables
- Predefined Environment Variables
- Customizing Command Prompt Windows
- Setting the Window Size and Position
- Setting the Window Size and Position Visually
- Selecting a Font
- Setting Colors
- Setting Other Options
- Copy and paste in the command prompt window
- Navigating from the command prompt
- Printing a list of filenames
- Commands Use Paths
- Identifying Executables
- Modifying the Path to Executables
- Modifying the Path with the GUI
- Changing the Current Path with CD
- Changing the Current Path with Windows Explorer
- Capturing the Output
- A Sampling of Commands
- Dir
- Copy
- XCopy
- SET
- NET USE
- SystemInfo
- DriverQuery
- Echo
- Advanced Shell Commands
- Creating a Batch File
- Scheduling a Batch File
- Creating Scheduled Tasks with a Script
- Using Windows PowerShell and the PowerShell ISE
- Windows PowerShell ISE
- PowerShell Commands
- Verbs and Nouns
- Sending Output to a Text File
- PowerShell Syntax
- Variables Created with a $ Symbol
- Comparison Operators
- Parentheses, Brackets, and Braces
- Running PowerShell Scripts
- PowerShell Execution Policy
- Changing the Execution Policy
- Looping
- Collections
- Creating a PowerShell Script
- Documenting Scripts
- Using PowerShell Commands
- Getting Help on PowerShell
- Using WMI_Cmdlets
- Getting Details on an Object
- Querying Information on Specific Objects
- Terminate Applications with Win32_process
- Formatting Output with the -f Format Operator
- Filtering the Output with the Where-Object Command
- Using the IF statement
- Using the Switch Statement
- Script Reusability