如何在 PowerShell 中將新行添加到命令輸出中
-
使用
`N
在 PowerShell 中將新行添加到命令輸出 -
使用輸出字段分隔符
OFS
在 PowerShell 中將新行添加到命令輸出 -
使用
[Environment]::NewLine
在 PowerShell 中將新行添加到命令輸出 -
使用
Out-String
在 PowerShell 中將新行添加到命令輸出 - 結論

PowerShell 包含一組特殊字符序列,可以自定義輸出內容。這些序列通常被稱為轉義序列。它們以反引號字符 `` ` 開頭,並且對大小寫敏感。
一些轉義序列的示例有 `0
, `a
, `b
, `e
, `f
, `n
, `r
, 等等。只有在雙引號 " "
中包含時,轉義序列才會被解釋。
在這篇文章中,我們探討不同技術以在 PowerShell 中將新行添加到命令輸出中。每一種技術都提供了一種獨特的方法來實現所需的輸出格式,並提供了靈活性和控制權,以改變 PowerShell 腳本輸出的外觀。
使用 `N
在 PowerShell 中將新行添加到命令輸出
轉義序列 ``n` 在許多程式語言中廣泛使用,包括 PowerShell,用於表示新行字符。
當在字符串中遇到 ``n` 時,它指示解釋器在顯示文本時將光標移到下一行的開頭。
在 PowerShell 中,反引號用作轉義字符,以表示字符串中的特殊字符。
Write-Host "This is line 1`nThis is line 2"
在這個例子中,我們利用 Write-Host cmdlet 輸出兩行文本。通過使用 ``n轉義序列,我們在
“This is line 1”和
“This is line 2”` 之間創建了一個新行,從而實現了內容的清晰分隔。
輸出:
您可以使用多個 `n
字符來添加多行。
Write-Host "This is line 1`nThis is line 2`n`n`This is line 3"
我們首先輸出 "This is line 1"
,接著使用反引號 (``n) 添加一個新行字符,這指示 PowerShell 轉到下一行。然後,我們通過再次使用新行字符在新行上輸出
“This is line 2”`。
之後,我們使用反引號包含兩個連續的新行字符 (``n),在
“This is line 2”和
“This is line 3”之間創建了一個空白行。最後,我們在新行上輸出
“This is line 3”`。
輸出:
使用輸出字段分隔符 OFS
在 PowerShell 中將新行添加到命令輸出
在 PowerShell 中,輸出字段分隔符 (OFS
) 是一個特殊變量,用於確定當數組中的元素被轉換為字符串時如何分隔它們。默認情況下,PowerShell 使用空格分隔數組元素。
然而,您可以修改 OFS
變量的值以指定不同的分隔符,例如表示新行字符的轉義序列 ``n。
首先,您必須在 OFS
變量中定義一個分隔符。
$OFS = "`n`n"
$color = 'red', 'blue', 'green', 'yellow'
"$($color)"
在這段代碼示例中,我們首先將 OFS
變量設置為兩個 ``n,表示應該使用新行字符來分隔輸出中的元素。然後,我們定義了一個叫做
$color` 的數組,包含四個顏色字符串。
當我們使用字符串插值語法 "$($color)"
時,PowerShell 隱式地將數組轉換為字符串,並使用 OFS
的值將每個元素分隔開,從而使每個顏色都在雙行中顯示。
輸出:
使用 [Environment]::NewLine
在 PowerShell 中將新行添加到命令輸出
在 PowerShell 中,[Environment]::NewLine
方法是一種方便的方法,用於檢索適合當前操作系統環境的新行字符序列。此方法返回一個字符串,該字符串包含新行序列(Unix 基於系統為 \n
,Windows 基於系統為 \r\n
)。
通過使用此方法,您可以確保您的 PowerShell 腳本生成具有正確新行字符的輸出,使其在不同環境中都是平台獨立的,並且兼容各種環境。
$color = 'red', 'blue', 'green', 'yellow'
$new = [Environment]::NewLine
$color | foreach { "$_$new" }
在這個代碼示例中,我們首先定義了一個叫做 $color
的數組,包含四個顏色字符串。然後,我們使用 [Environment]::NewLine
來檢索新行字符序列並將其存儲在 $new
變量中。
接下來,我們將 $color
數組通過管道輸入到 Sort-Object
中,按字母順序對顏色進行排序。最後,我們使用 foreach
遍歷每個排序後的顏色,將每個顏色與存儲在 $new
中的新行字符串聯,從而得到每個顏色在新行上顯示的排序輸出。
輸出:
使用 Out-String
在 PowerShell 中將新行添加到命令輸出
在 PowerShell 中,Out-String
cmdlet 將輸入對象轉換為單個字符串,這對於格式化命令輸出非常有用。默認情況下,Out-String
會在每個對象後附加一個新行字符 (``n`),使您能夠輕鬆地將新行添加到命令輸出中。
這種方法特別有助於確保輸出中的每個項目都在單獨的行上顯示,改善可讀性和組織性。
$color = 'red', 'blue', 'green', 'yellow'
$color | Out-String
在這個代碼片段中,我們首先定義了一個叫做 $color
的數組,包含四個顏色字符串。然後,我們使用 [Environment]::NewLine
方法檢索適合當前環境的新行字符序列並將其存儲在 $new
變量中。
接下來,我們使用 foreach
循環遍歷 $color
數組中的每個元素。在循環內,我們將每個顏色字符串與存儲在 $new
中的新行字符串聯,確保每個顏色都在命令輸出中的新行上顯示。
輸出:
結論
PowerShell 提供了幾種有效的方法來將新行添加到命令輸出中,增強可讀性和組織性。無論是使用轉義序列如 ``n,利用
[Environment]::NewLine方法以獲取平台獨立的新行字符,還是自定義
OFS` 變量以格式化數組輸出,PowerShell 都提供了多功能的解決方案以滿足各種腳本需求。
通過理解和實施這些技術,PowerShell 腳本作者可以創建更具視覺吸引力和信息性的輸出,提高整體使用者體驗和腳本效率。