Do While Powershell

Shell Programming

I recently discovered a powerful feature in PowerShell called the “do while” loop. As a technology enthusiast, I am always on the lookout for new tools and techniques to enhance my scripting skills. This loop construct has proven to be invaluable in certain scenarios where I need to repeatedly execute a block of code until a specific condition is met.

Before diving into the specifics of the “do while” loop in PowerShell, let’s quickly refresh our understanding of loops in general. Loops are control structures that allow us to execute a block of code multiple times, based on a specific condition. They are an essential part of any programming language, including PowerShell.

Now, let’s take a closer look at the “do while” loop in PowerShell. This loop works by first executing the code block and then checking the condition. If the condition evaluates to true, the loop continues to execute the code block. When the condition becomes false, the loop terminates, and the execution moves on to the next line of code.

One thing that sets the “do while” loop apart from other loop types in PowerShell is that it always executes the code block at least once. This can be incredibly useful in situations where you need to perform a task before checking if the condition is met. For example, let’s say you want to prompt a user for input until they enter a valid value. You can use the “do while” loop to keep prompting until the condition (valid input) is satisfied.

Here’s an example of how the “do while” loop looks in PowerShell:

do {
# Code block to be executed
} while (condition)

In the above code snippet, the code block represents the actions or commands you want to repeat, and the condition is the expression that evaluates to either true or false. As long as the condition is true, the code block will be executed repeatedly.

It’s important to note that the condition must be specified within parentheses after the while keyword. This ensures that the condition is evaluated correctly.

Now, let’s see a practical example of how the “do while” loop can be used in PowerShell. Suppose we want to generate a random number between 1 and 10 and keep prompting the user to guess the number until they guess it correctly:

$randomNumber = Get-Random -Minimum 1 -Maximum 11
$guess = 0

do {
$guess = Read-Host "Guess the number (between 1 and 10)"
} while ($guess -ne $randomNumber)

"Congratulations! You guessed the correct number: $randomNumber"

In the example above, we generate a random number using the Get-Random cmdlet and assign it to the variable $randomNumber. We initialize the variable $guess to 0 to allow us to enter the loop for the first time.

Inside the “do while” loop, we prompt the user to enter their guess using the Read-Host cmdlet and store their input in the $guess variable. The loop continues until the condition $guess -ne $randomNumber evaluates to false, meaning the user has guessed the correct number.

Once the loop terminates, we display a congratulatory message to let the user know they guessed the correct number.


The “do while” loop in PowerShell is a powerful tool for repetitively executing a block of code until a specific condition is met. It allows you to perform tasks before checking if the condition is satisfied, ensuring that the code block is executed at least once. Understanding and utilizing this loop construct can greatly enhance your PowerShell scripting skills and enable you to tackle complex tasks more efficiently.

So, next time you find yourself needing to repeat a block of code until a condition is met, give the “do while” loop in PowerShell a try. You’ll be amazed at how it simplifies your scripting endeavors!