In this exercise, we explore the use of constants, variables, concatenation, decision making, and looping as we create 10 folders in the C:\Mytest directory. This directory was created earlier. If you do not have this folder on your machine, you can either create it manually or modify both the step-by-step exercise and the one step further exercise to use a folder that exists on your machine.
Open Notepad or your favorite Windows PowerShell script editor.
Create a variable called $intFolders and have it hold the value of 10. The code to do this is shown here:
$intFolders = 10
Create a variable called $intPad. Do not put anything in the variable yet. This code is shown here:
$intPad
Create a variable called $i and put the number 1 in it. The code to do this is shown here:
$i = 1
Use the New-Variable cmdlet to create a variable named strPrefix. Use the value argument of the cmdlet to assign the value of "testFolder" to the variable. Use the option argument to make $strPrefix into a constant. The code to do this is shown here:
New-Variable -Name strPrefix -Value "testFolder" -Option constant
Open a do … until statement. Include the opening curly bracket for the script block. This code is shown here:
do {
Begin an if … else statement. The condition to be evaluated is if the variable $i is less than 10. The code that does this is shown here:
if ($i -lt 10)
Open the script block for the if statement. Assign the value of 0 to the variable $intPad. This is shown here:
{$intPad=0
Use the New-Item cmdlet to create a new folder. The new folder will be created in the C:\Mytest directory. The name of the new folder will comprise the $strPrefix constant "testFolder", the number 0 from the $intPad variable, and the number contained in the $i variable. The code that does this is shown here:
new-item -path c:\mytest -name $strPrefix$intPad$i -type directory}
Add the else clause. This code is shown here:
else
The else script block is the same as the if script block, except it does not include the 0 in the name that comes from the $intPad variable. Copy the New-Item line of code from the if statement and delete the $intPad variable from the name argument. The revised line of code is shown here:
{new-item -path c:\mytest -name $strPrefix$i -type directory}
Increment the value of the $i variable by 1. To do this, use the double plus symbol (++) operator. The code that does this is shown here:
$i++
Close the script block for the else clause and add the until statement. The condition that until will evaluate is if the $i variable is equal to the value contained in the $intFolders variable + 1. The reason for adding 1 to $intFolders is so the script will actually create the same number of folders as are contained in the $intFolders variable. Because this script uses a do …until loop and the value of $i is incremented before entering the until evaluation, the value of $i is always 1 more than the number of folders created. This code is shown here:
}until ($i -eq $intFolders+1)
Save your script as yourname CreateMultipleFolders.ps1. Run your script. You should see 10 folders created in the C:\Mytest directory. If you do not, compare your results with the CreateMultipleFolders.ps1 script in the scripts folder for this chapter. This concludes this step-by-step exercise.