Forループは、あらゆるプログラミング言語で(valuable tools in any programming language)最も価値のあるツールの1つであり、 MicrosoftPowerShellも例外(Microsoft PowerShell)ではありません。他のループを使用してコマンドを繰り返すこともできますが、Forループがおそらく最も簡単です。
配列の反復から関数の実行まで、このツールで実現できることはたくさんあります。これは、 PowerShell(PowerShell)でForループを使用する方法に関するチュートリアルです。
PowerShellでのForループ(Loops)の使用(Use)は何ですか?
コマンドプロンプト(Command Prompt)とは異なり、PowerShellは完全なスクリプト環境です。つまり、コマンドを手動で入力するのではなく、再利用可能なPowerShellスクリプトを記述して、タスクを自動的に実行できます。(PowerShell scripts)そして、Forループは、これらのモジュールを作成するための鍵です。
Forステートメントは、スクリプトブロックを特定の回数繰り返し、進行状況を追跡するために特定の変数を変更します。これにより、いくつかのかなり興味深いシナリオでループを使用できます。
一連の数値を生成したり、素数を決定したり、カウントダウンタイマーを表示したりできます。より実際的には、オブジェクトの配列を反復処理して、各エントリで何らかのアクションを実行できます。
PowerShellのForループ(Loop)の構文(Syntax)
forループは、Windows PowerShellで、他のプログラミング言語と同じように機能します。追跡変数の初期化、その値のテスト、および変数の変更を行う式は、セミコロンで区切られた「For」に続く括弧内に含まれます。次に、中括弧で囲まれたステートメントリスト自体が表示されます。
For(Initialization ; Condition ; Update)
{{
スクリプトブロック(Script Block)
}
PowerShellスクリプト(PowerShell Script)でForループを使用する方法(Loop)
Forループの使用は非常に簡単です。わずかに変化するステップを繰り返す必要がある状況に遭遇したときはいつでも、それをForループに入れる必要があります。
変数$nに含まれる数nまでのすべての自然数の合計を見つけることができるコードスニペットを作成する必要があるとします。基本的なForループの例を次に示します。
$ n = 10
$ sum = 0
For($ i = 1; $ i -le $ n; $ i ++)
{{
$ sum = $ sum + $ i
}
「$n自然数の合計は$sumです」
Forループを介した配列へのアクセス
数値シーケンスの生成は、ほとんどの人がPowerShellを使用する目的ではほとんどありません。より一般的な使用法は、配列を反復処理することです。
(Say)7つの要素を持つ$weekの配列があるとします。次の例に示すように、単純なForループを使用して、配列に含まれる日のリストを出力できます。
For($ i = 0; $ i -lt $ week.Length; $ i ++)
{{
$ week [$ i]
}
ForEachループ(ForEach Loop)を使用して配列をすばやく反復する(Quickly Iterate)
Forループのもう1つの形式は、ForEachステートメントです。このバージョンでは、 PowerShell(PowerShell)配列の内容を確認し、それらを個別に処理することが簡単になります。たとえば、前のコードスニペットは次のように書き直すことができます。
Foreach($weekの$day)
{{
$ day
}
より複雑なオブジェクトを処理する場合は、Foreach-Objectコマンドレットを使用して、 PowerShell(PowerShell)コマンドの内容に対してアクションを実行することもできます。
Forループは他のタイプ(Types)のループ(Loops)とどのように異なり(Loop Different)ますか?
使用できるループステートメントのタイプは、Forループだけではありません。ほとんどのプログラミング言語と同様に、PowerShellには複数の種類のループがあります。
その間
これらの中で最も単純なのは、Whileループです。条件とスクリプトブロックだけがあり、テスト式がtrueと評価される限りループが実行されます。式が最初に評価されるため、コードがまったく実行されないか、無限ループになる可能性があります。
一方(状態(Condition))
{{
スクリプトブロック(Script Block)
}
一方を行います
式がfalseと評価された場合でも、少なくとも1回実行する必要のあるスクリプトを作成している場合は、Do-Whileループを使用できます。Whileループとの唯一の違いは、条件の前にコマンドブロックを配置することです。つまり、テスト式が最初にチェックされる前にコードが実行されます。
行う {
スクリプトブロック(Script block)
}
一方(状態(Condition))
するまで-
このループの別のバージョンはDo-Untilです。基本的(Basically)に、コードブロックを実行し、テスト式が真になるまでそれを繰り返します。これは、Do-Whileループの逆です。標準のDo-While(Do-While)ループで条件を変更することで同じことを実現できるため、特に有用な構造ではありません。
行う {
スクリプトブロック(Script Block)
}
まで(条件(Condition))
Forループが優れている理由
これらの他のすべてのループ構造の問題は、初期値または更新ステートメントが含まれていないことです。ループの外側で変数を作成し、ループのすべてのパスでそれをインクリメント(またはデクリメント)することを手動で覚えておく必要があります。
ご想像のとおり、プログラマーはこの手順を忘れてしまい、スクリプトが意図したとおりに機能しないことがよくあります。これは、デバッグに貴重な時間を浪費します。
Forループは、開始括弧内に初期化式と増分式を必要とすることで、この問題を回避します。これにより、よりクリーンで堅牢なスクリプトが実現します。
PowerShellでForループ(Loop)を使用する必要があるのはいつですか?
PowerShellは、自動化のためのスクリプトを作成することを目的としています。そして、これを実現するためのおそらく最も有用なツールはForループです。これを使用して、多くのコピー&ペースト操作をよりコンパクトでエレガントなスクリプトに置き換えることができます。
このループの最も一般的な機能は、一度に1つのエントリで配列を反復処理することです。さらに合理化されたスクリプトの場合は、ForEachループを使用することもできます。Forループを使用して数値シーケンスを生成することもできますが、これが必要になることはめったにありません。
Forループは、ループのすべての重要な関数をパラメーターに含めることにより、他のループアルゴリズムよりもスコアが高くなり、これらのステートメントを忘れることによるエラーを防ぎます。これにより、一連のコマンドを繰り返す必要があるシナリオでは、Forループが不可欠になります。
How a PowerShell For Loop Can Run a Command Multiple Times
The For loop is onе of the most valuable tools in any programming language, and Microsoft PowerShell is no different. You can use other loops to repeat commands, but the For loop is perhaps the most straightforward.
From iterating over arrays to carrying out a function a predetermined number of times, there are many things you can achieve with this tool. Here is a tutorial on how to use For loops in PowerShell.
What Is the Use of For Loops in PowerShell?
Unlike Command Prompt, PowerShell is a complete scripting environment. This means you can write reusable PowerShell scripts to automatically carry out tasks rather than entering commands manually. And For loops are the key to writing these modules.
A For statement repeats a script block a specific number of times, modifying a given variable to keep track of progression. This allows you to use the loop for some rather interesting scenarios.
You can generate sequences of numbers, determine a prime number, or display a countdown timer. More practically, you can iterate over an array of objects, performing some action with each entry.
The Syntax of a For Loop in PowerShell
For loops work in Windows PowerShell the same way they do in any programming language. Expressions initializing the tracking variable, testing its value, and modifying the variable are ensconced within the brackets following “For,” separated by semicolons. Then comes the statement list itself bound by curly braces.
For (Initialization; Condition; Update)
{
Script Block
}
How to Use the For Loop in a PowerShell Script
Using the For loop is pretty simple. Whenever you encounter a situation that calls for repeating a slightly varying step, you should put it into a For loop.
Let’s say you need to write a code snippet that can find the sum of all natural numbers until a number n, contained in the variable $n. Here is a basic For loop example:
$n = 10
$sum = 0
For ($i = 1 ; $i -le $n ; $i++)
{
$sum = $sum + $i
}
“The sum of $n natural numbers is $sum”
Accessing Arrays Through a For Loop
Generating numeric sequences is hardly what most people use PowerShell for. A more common usage is to iterate over an array.
Say you have an array $week with seven elements. You can output the list of the days contained in the array using a simple For loop, as demonstrated in the following example.
For ($i = 0 ; $i -lt $week.Length ; $i++)
{
$week[$i]
}
Using the ForEach Loop To Quickly Iterate Through an Array
Another form of the For loop is the ForEach statement. This version simplifies going through the contents of a PowerShell array and processing them individually. The previous code snippet, for example, can be rewritten like this:
Foreach ($day in $week)
{
$day
}
When dealing with more complex objects, you can also use the Foreach-Object cmdlet to perform an action on the contents of any PowerShell command.
How is the For Loop Different From Other Types of Loops?
The For loop isn’t the only type of looping statement available to you. Like most programming languages, PowerShell has multiple types of loops.
While
The simplest of these is the While loop. All you have is a condition and a script block, and the loop runs as long as the test expression evaluates to true. Since the expression is evaluated first, there is a chance for the code not to run at all or end up as an infinite loop.
While (Condition)
{
Script Block
}
Do-While
If you are writing a script that needs to run at least once – even if the expression evaluates to false—then you can use the Do-While loop. The only difference from the While loop is that it places the command block before the condition, which means that the code is executed before the test expression is checked for the first time.
Do {
Script block
}
While (Condition)
Do-Until
Another version of this loop is Do-Until. Basically, it runs the code block and then repeats it until the test expression is true – the reverse of a Do-While loop. Not a particularly useful structure, as you can achieve the same thing by modifying the condition in a standard Do-While loop.
Do {
Script Block
}
Until (Condition)
Why the For Loop is Better
The problem with all these other looping structures is that they do not include the initial value or update statements. You have to manually remember to create a variable outside the loop and then increment it (or decrement it) during every pass of the loop.
As you might expect, programmers often forget this step, leading to a script that doesn’t work as intended. This wastes precious time in debugging.
The For loop avoids this issue by necessitating the initialization and increment expressions within the starting brackets. This leads to cleaner, more robust scripts.
When Should You Use the For Loop in PowerShell?
PowerShell is all about creating scripts for automation. And probably the most useful tool for achieving this is the For loop. You can use it to replace many copy-paste operations with a more compact, elegant script.
The most common function of this loop is to iterate over an array, one entry at a time. For an even more streamlined script, you can use a ForEach loop as well. You can also use the For loop to generate numerical sequences, although that is rarely needed.
The For loop scores over other looping algorithms by including all essential functions of a loop into the parameters, preventing any errors due to forgetting those statements. This makes the For loop indispensable in any scenario calling for repeating a set of commands.