The Call Operator & in PowerShell

The Call Operator & in PowerShell

There are different commands in PowerShell that are unique and different from other scripting languages. This article will discuss the call operator & command or keyword used in PowerShell and its uses.

Call Operator & in PowerShell

The call operator & operator is used to achieve the required function of a command. For example, if you need to execute a certain command, you would use the & operator at the beginning of the line.

Usually, PowerShell allows running a command only if it is in the PowerShell’s environment path. Further, a command with a space is not accepted by PowerShell.

Users must type &, then start double quotation marks and include the path and command within quotes to force PowerShell to run the script. We will consider one example related to executing a script block here.

When we use the & to preserve the original value, which later changes into another value as follows.

PS C:\Users> $i = 4
PS C:\Users> $ScriptBloack = { $i = 10; echo $i }
PS C:\Users> & $ScriptBloack
10
PS C:\Users> $i
4
PS C:\Users>

Here, you can see in the script block that the value of the variable changes. If we use a command like invoke-expression, it will change, but with &, that does not happen.

The below image shows the execution and outputs.

call operator in powershell

There are many different uses of the & operator as such. You will be able to find all those in detail here and also through Microsoft documentation.

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Related Article - PowerShell Operator