PowerShell での行の折り返し

  1. PowerShell における行の分割
  2. PowerShell で行を分けるために `N を使用する
  3. PowerShell で行を分けるために [Environment]::NewLine を使用する
  4. PowerShell で行を分けるために `N[Environment]::NewLine を組み合わせる
  5. 結論
PowerShell での行の折り返し

改行は、出力をフォーマットしたり、スクリプト内のテキストの流れを制御したりするときに必要不可欠です。PowerShell では、エスケープシーケンスと特殊文字を使用してこれを実現できます。

このチュートリアルでは、PowerShell で行を分ける方法を教えます。

PowerShell における行の分割

PowerShell には、改行やタブなどの文字を表すための特殊文字シーケンスのセットが含まれています。これらはエスケープシーケンスとも呼ばれます。

バックスラッシュ \ は、ほとんどのプログラミング言語で特殊文字を示します。しかし、PowerShell はバックティック文字 ` を使用します。

したがって、エスケープシーケンスは ` で始まり、大文字小文字を区別します。以下は、PowerShell でよく使われるエスケープシーケンスの一部です。

`0 Null
`a Alert
`b Backspace
`e Escape
`f Form feed
`n New line
`r Carriage return

エスケープシーケンスは、ダブルクオート(" ")で囲まれているときだけ解釈されます。

PowerShell で行を分けるために `N を使用する

PowerShell におけるエスケープシーケンスの最も一般的な使用法の 1つは、改行を挿入することです。新しい行 `n 文字を使用して、PowerShell で行を分けることができ、行の分割または新しい行は `n 文字の後に追加されます。

次の例は、出力内で行を分けるために `n を使用する方法を示しています。

Write-Host "Welcome to the`nPowerShell Tutorial."

出力:

Welcome to the
PowerShell Tutorial.

上記の出力では、"Welcome to the" が最初の行に表示されます。その後、`n 文字に遭遇し、行が分かれ、カーソルが次の行の先頭に移動して "PowerShell Tutorial." が 2 行目に表示されます。

複数の `n 文字を使用して、複数の行分けを作成することもできます。このコード例では、出力に行が分かれるように `n 文字を使用して、より読みやすくしています。

Write-Host "Welcome `nto `nthe `nPowerShell Tutorial."

出力:

Welcome
to
the
PowerShell Tutorial.

出力に示すように、文字列は複数の `n 文字を使用して複数の行分けを持っています。

次の例では、$fruits 変数に格納された果物の配列があります。それから、各果物の名前を新しい行に持つ果物のリストを作成します。指定されたセパレーター、今回は `n 行分割文字を使用する -join 演算子を使用します。

$fruits = 'Apple', 'Banana', 'Cherry', 'Date'

$fruitList = $fruits -join "`n"

Write-Host $fruitList

出力:

Apple
Banana
Cherry
Date

これにより、各果物が新しい行に表示された果物のリストが得られます。

PowerShell で行を分けるために [Environment]::NewLine を使用する

PowerShell で行分けを作成するもう 1つの方法は、[Environment]::NewLine オブジェクトを使用することです。これは(`n`r)に相当します。`r 文字はカーソルを現在の行の先頭に移動させます。

次の例は、出力内で配列のアイテムを表示するときに [Environment]::NewLine を使用して行を分ける方法を示しています。

最初の例では、‘one’、’two’、’three’、‘four’ を含む $number という名前の配列を操作します。出力をフォーマットし、各要素を新しい行に表示することが目的です。

次に、プラットフォーム固有の改行文字 [Environment]::NewLine を保持する変数 $new を作成します。続いて、パイプライン演算子 | を使用して、ForEach を通じて $number の各要素を処理します。

その後、ForEach ブロック内で、$_(要素)と $new を組み合わせた文字列を作成し、各要素の後に新しい行分割を作成します。このアプローチにより、各要素が新しい行に表示され、整然とした出力になります。

例コード 1:

$number = 'one', 'two', 'three', 'four'
$new = [Environment]::NewLine
$number | foreach { "$_$new" }

出力:

one

two

three

four

出力には、$number 配列の各要素が新しい行に表示されています。

次の例では、データをセットアップし、値を持つ $numbers という名前の配列と行分けのための変数 $newLine を定義します。次に、ForEach-Object を使って $numbers を反復し、配列内の各要素の位置を計算し、行分けを伴う整形された番号付きリストを作成します。

これらのリストは $numberedList に格納されます。最後に Write-Host を使用して番号付きリストを表示し、整理されフォーマットされた出力を提供します。

例コード 2:

$numbers = 'one', 'two', 'three', 'four'
$newLine = [Environment]::NewLine

$numberedList = $numbers | ForEach-Object {
    $index = [array]::IndexOf($numbers, $_) + 1
    "$index. $_$newLine"
}

Write-Host $numberedList

出力:

1. one
2. two
3. three
4. four

出力は、各要素が順番に表示された番号付きリストになります。

このコード例では、出力内で行分けを作成するために [Environment]::NewLine オブジェクトを利用し、より整理され、読みやすくしています。

PowerShell で行を分けるために `N[Environment]::NewLine を組み合わせる

`n エスケープシーケンスを [Environment]::NewLine と組み合わせて、カスタムの行分けを作成できます。

次のコードでは、カスタムの 2 行出力を作成します。2つの変数 $line1$line2 を定義し、それぞれにテキストの行を含ませます。

その後、プラットフォームに依存しない行分けを作成するために、"`n" 改行文字と [Environment]::NewLine を組み合わせた変数 $customLineBreak を使用します。次に、Write-Host を利用して、$line1$customLineBreak、および $line2 をダブルクオート内で連結して表示し、クリーンな 2 行の出力を保証します。

例コード:

$line1 = "This is the first line"
$line2 = "This is the second line"
$customLineBreak = "`n" + [Environment]::NewLine
Write-Host "$line1$customLineBreak$line2"

出力:

This is the first line

This is the second line

この例では、`n[Environment]::NewLine を組み合わせてカスタムの行分けを作成し、2つの行を分けています。

結論

結論として、PowerShell での改行とテキストフォーマットをマスターすることは、明確で整理されたスクリプトを作成するために不可欠です。エスケープシーケンスを探求し、特に改行に多く使用される `n 文字を強調しました。

さらに、配列表示における行分けを正確に制御するための [Environment]::NewLine の使用についても説明しました。これらの技術を理解することで、スクリプト作成者は構造化され、読みやすい PowerShell スクリプトを生成し、効率的かつ効果的なコミュニケーションを確保できます。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website