ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

For ループは、どのプログラミング言語でも最も価値のあるツールの 1 つであり、Microsoft PowerShell も例外ではありません。他のループを使用してコマンドを繰り返すこともできますが、おそらく For ループが最も簡単です。

配列の反復処理から関数の所定回数の実行まで、このツールを使用して達成できることは数多くあります。これは、PowerShell で For ループを使用する方法に関するチュートリアルです。

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

PowerShell での For ループの使用法は何ですか?

コマンド プロンプトとは異なり、PowerShell は完全なスクリプト環境です。これは、再利用可能な PowerShell スクリプトを作成して、手動でコマンドを入力するのではなく、自動的にタスクを実行できることを意味します。 For ループは、これらのモジュールを作成するための鍵となります。

For ステートメントは、スクリプト ブロックを特定の回数繰り返し、特定の変数を変更して進行状況を追跡します。これにより、いくつかの興味深いシナリオでループを使用できるようになります。

一連の数値を生成したり、素数を決定したり、カウントダウン タイマーを表示したりできます。より実際的には、オブジェクトの配列を反復処理して、各エントリに対して何らかのアクションを実行できます。

PowerShell の For ループの構文

Windows PowerShell では、For ループは他のプログラミング言語と同じように機能します。追跡変数の初期化、その値のテスト、および変数の変更を行う式は、セミコロンで区切られた「For」に続く括弧内に収まります。次に、中括弧で囲まれたステートメント リスト自体が続きます。

(初期化の場合); 状態; アップデート )

{

スクリプト ブロック

}

PowerShell スクリプトで For ループを使用する方法

For ループの使用は非常に簡単です。わずかに異なるステップを繰り返す必要がある状況に遭遇した場合は、それを For ループに入れる必要があります。

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

数値nになるまですべての自然数の合計を求めるコード スニペットを作成する必要があるとします。 、変数 $n に含まれます。基本的な For ループの例を次に示します。

$n =10

$sum =0

($i =1; $i -le $n; $i++) の場合

{

$sum =$sum + $i

}

「$n 個の自然数の合計は $sum です」

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

For ループを介した配列へのアクセス

数値シーケンスの生成は、ほとんどの人が PowerShell を使用する目的ではありません。より一般的な使用法は、配列を反復処理することです。

7 つの要素を持つ配列 $week があるとします。次の例に示すように、単純な For ループを使用して、配列に含まれる日付のリストを出力できます。

($i =0; $i -lt $week.Length; $i++)

{

$week[$i]

}

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

ForEach ループを使用して配列を迅速に反復処理する

For ループの別の形式は ForEach ステートメントです。このバージョンでは、PowerShell 配列の内容を調べて個別に処理することが簡素化されています。たとえば、前のコード スニペットは次のように書き直すことができます。

Foreach ($week の $day)

{

$day

}

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

より複雑なオブジェクトを扱う場合は、Foreach-Object コマンドレットを使用して、PowerShell コマンドの内容に対してアクションを実行することもできます。

For ループは他の種類のループとどう違うのですか?

使用できるループ ステートメントの種類は For ループだけではありません。ほとんどのプログラミング言語と同様、PowerShell には複数の種類のループがあります。

その間

これらの中で最も単純なものは While ループです。必要なのは条件とスクリプト ブロックだけで、テスト式が true と評価される限りループが実行されます。式が最初に評価されるため、コードがまったく実行されないか、無限ループになる可能性があります。

While (条件 )

{

スクリプト ブロック

}

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

やりながら

式が false と評価される場合でも、少なくとも 1 回実行する必要があるスクリプトを作成している場合は、Do-while ループを使用できます。 While ループとの唯一の違いは、コマンド ブロックが条件の前に配置されることです。これは、テスト式が初めてチェックされる前にコードが実行されることを意味します。

実行してください{

スクリプト ブロック

}

While (条件 )

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

期限までに行う

このループの別のバージョンは Do-Until です。基本的に、コード ブロックを実行し、テスト式が true になるまでそれを繰り返します (Do-while ループの逆)。標準の Do-while ループで条件を変更することで同じことを実現できるため、特に便利な構造ではありません。

実行してください{

スクリプト ブロック

}

(条件まで) )

PowerShell For Loop のマスター:コマンドを簡単に繰り返し実行する

For ループが優れている理由

これらの他のすべてのループ構造の問題は、初期値または更新ステートメントが含まれていないことです。ループの外で変数を作成し、ループのパスごとにそれをインクリメント (またはデクリメント) することを忘れずに手動で行う必要があります。

ご想像のとおり、プログラマーはこの手順を忘れることが多く、スクリプトが意図したとおりに動作しなくなることがあります。これにより、デバッグに貴重な時間が無駄になります。

For ループは、開始括弧内の初期化式と増分式を必要とすることで、この問題を回避します。これにより、よりクリーンで堅牢なスクリプトが作成されます。

PowerShell で For ループを使用する必要があるのはどのような場合ですか?

PowerShell は、自動化のためのスクリプトを作成することを目的としています。そしておそらく、これを実現するための最も便利なツールは For ループです。これを使用すると、多くのコピー&ペースト操作をよりコンパクトで洗練されたスクリプトに置き換えることができます。

このループの最も一般的な機能は、一度に 1 つのエントリを配列に対して反復処理することです。スクリプトをさらに効率化するには、ForEach ループを使用することもできます。 For ループを使用して数値シーケンスを生成することもできますが、それが必要になることはほとんどありません。

For ループは、ループのすべての必須関数をパラメーターに含めることにより、他のループ アルゴリズムよりも優れたスコアを獲得し、これらのステートメントの忘れによるエラーを防ぎます。このため、一連のコマンドを繰り返す必要があるシナリオでは For ループが不可欠になります。


  1. 歩くとお金がかかるアプリ トップ 5

    私たちは、通勤、用事、または健康を維持するために、毎日歩いています。また、ウォーキングは健康に良いですが、ウォーキングをしながらお金を稼ぐことができたらどうでしょうか。お互いに有利な状況になると思いませんか?そのため、ここでは、さらに一歩足を踏み入れたくなる最高のアプリをいくつかリストアップしました。 1.ギグウォーク お小遣いを少し増やしたい場合でも、期限内に家賃を払って家主を驚かせたい場合でも (違反ではありません)、Gigwalk があなたをサポートします。気分やタイミングに合わせて仕事ができる素晴らしいアプリです。 Gigwalk は使って楽しいアプリで、新しい場所を発見できます。

  2. データを正常に保護する方法[6つの方法]

    21世紀で最も貴重なものの1つは、データです。パスワード、財務情報、およびその他の機密情報を非公開にすることは、企業と個人の両方にとって最も長い間優先事項でした。 私たちがテクノロジーから享受している多くの特典にもかかわらず、1つ確かなことがあります。また、詮索好きな目や悪意のある個人が自分の個人情報にアクセスし、それを自分の利己的な利益のために使用できる方法も紹介しました。 ご存知かもしれませんが、これらの個人は通常、インターネットまたはネットワークチャネルを介してオンラインで共有される情報を標的としています。スマートフォン、ラップトップ、およびその他のネットワークデバイスも、漏洩し