PowerShell 中的換行

  1. PowerShell 中的行斷裂
  2. 使用 `N 在 PowerShell 中斷行
  3. 使用 [Environment]::NewLine 在 PowerShell 中斷行
  4. 結合 `N[Environment]::NewLine 在 PowerShell 中斷行
  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

轉義序列僅在用雙引號(" ")括起時會被解釋。

使用 `N 在 PowerShell 中斷行

在 PowerShell 中,轉義序列最常見的用途之一是插入行斷裂。我們可以使用新行 `n 字符在 PowerShell 中斷行,並在 `n 字符後添加行斷裂或新行。

以下示例顯示如何使用 `n 在輸出中斷行。

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

輸出:

Welcome to the
PowerShell Tutorial.

在上面的輸出中,"Welcome to the" 顯示在第一行。然後,遇到 `n 字符,導致行斷裂,光標移動到下一行的開始,"PowerShell Tutorial." 在第二行顯示。

我們還可以使用多個 `n 字符來創建多個行斷裂。在此代碼示例中,`n 字符用於在輸出中引入行斷裂,使其更具可讀性。

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

輸出:

Welcome
to
the
PowerShell Tutorial.

正如我們在輸出中看到的,該字符串通過使用多個 `n 字符具有多個行斷裂。

在這個下一個示例中,我們有一個存儲在 $fruits 變量中的水果數組。然後,我們創建了一個水果列表,每個水果名稱在新的一行上,我們使用 -join 運算符,它將數組中的元素與指定分隔符合併,在這種情況下,即 `n 行斷裂字符。

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

$fruitList = $fruits -join "`n"

Write-Host $fruitList

輸出:

Apple
Banana
Cherry
Date

這產生了一個水果列表,每個水果顯示在新的一行上。

使用 [Environment]::NewLine 在 PowerShell 中斷行

在 PowerShell 中創建行斷裂的另一種方法是使用 [Environment]::NewLine 對象,這相當於 (`n`r)。`r 字符將光標移至當前行的開始。

以下示例顯示如何使用 [Environment]::NewLine 在輸出中顯示數組項目時斷行。

在第一個示例中,我們操作一個名為 $number 的數組,包含 'one''two''three''four'。我們的目標是格式化輸出,將每個元素顯示在新的一行上。

接下來,我們創建一個變量 $new,它保存平台特定的換行字符 [Environment]::NewLine。然後,我們利用管道運算符 | 使用 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

輸出的編號列表中,$numbers 數組中的每個元素依次顯示。

在這個代碼示例中,我們利用 [Environment]::NewLine 對象在輸出中創建行斷裂,使其更加有序和易於閱讀。

結合 `N[Environment]::NewLine 在 PowerShell 中斷行

我們可以將 `n 轉義序列與 [Environment]::NewLine 結合,以創建自定義行斷裂。

在以下代碼中,我們創建一個自定義的兩行輸出。我們定義了兩個變量,$line1$line2,每個變量包含一行文本。

然後,為了創建平台無關的行斷裂,我們使用一個變量 $customLineBreak,它結合了 "`n" 換行字符和 [Environment]::NewLine。然後我們利用 Write-Host 透過將 $line1$customLineBreak$line2 連結在一起來顯示內容,確保產生乾淨的兩行輸出。

示例代碼:

$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 來創建自定義行斷裂以分隔兩行。

結論

總之,掌握 PowerShell 中的行斷裂和文本格式化對於創建清晰和有組織的腳本至關重要。我們探討了轉義序列,強調了常用的 `n 字符作為行斷裂。

此外,我們討論了使用 [Environment]::NewLine 來精確控制行斷裂,並展示了其在數組顯示中的應用。通過理解這些技術,腳本編寫者可以生成結構良好且易於閱讀的 PowerShell 腳本,確保有效的溝通。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. 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