What Does & Do In Powershell

How To Articles

Hey there! Today, I want to talk about a crucial operator in PowerShell — the ampersand (&) symbol. You might have come across this symbol while working with PowerShell scripts or commands, and if you’re wondering what it does, you’re in the right place!

The ampersand (&) symbol in PowerShell is known as the “call operator.” It allows you to invoke or call a command, script, or function in PowerShell. It plays a significant role in executing commands or running scripts dynamically.

One common use case of the ampersand (&) symbol is when you want to run an executable or a script file from within a PowerShell script. Let’s say you have an executable file called “myprogram.exe.” To run this executable using PowerShell, you can use the ampersand (&) symbol followed by the path to the executable:

& "C:\Path\To\myprogram.exe"

By using the ampersand (&) symbol, you tell PowerShell to treat the following string as a command or script and execute it.

Another use case for the ampersand (&) symbol is when you need to call a function dynamically. In PowerShell, functions are treated as first-class citizens, which means you can store them in variables and call them using the ampersand (&) operator.

Let’s say you have a function called “MyFunction.” To invoke this function using the ampersand (&) operator, you can do the following:

$functionName = "MyFunction"
& $functionName

This will dynamically call the function stored in the “functionName” variable.

One thing to keep in mind when using the ampersand (&) symbol is that it is also used for escaping special characters in PowerShell. If you need to use a special character as a literal value in a command or script, you can use the ampersand (&) symbol to escape it.

For example, if you want to use a file name with spaces in a command, you can escape the spaces using the ampersand (&) symbol:

Invoke-Command -ScriptBlock { Get-Content 'C:\Path\To\file&name.txt' }

Here, the ampersand (&) symbol is used to escape the special character “&” within the file name.

In conclusion, the ampersand (&) symbol in PowerShell serves as the call operator, allowing you to invoke commands, run scripts, and call functions dynamically. It can be used to execute executables and scripts, call functions stored in variables, and even escape special characters in commands or scripts.


The ampersand (&) symbol in PowerShell is a powerful tool that enables dynamic execution of commands, scripts, and functions. Whether you need to run an executable, invoke a script, or call a function stored in a variable, the ampersand (&) symbol has got you covered. Just remember to use it wisely!