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 警报
`b 退格
`e 转义
`f 换页
`n 新行
`r 回车

转义序列仅在被双引号 (" ") 包围时被解释。

使用 `N 在 PowerShell 中换行

在 PowerShell 中,转义序列最常见的用途之一是插入换行符。我们可以使用新行 `n 字符在 PowerShell 中换行,并且换行或新行在 `n 字符后添加。

以下示例显示了如何使用 `n 在输出中换行。

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

输出:

Welcome to the
PowerShell Tutorial.

在上述输出中,"欢迎来到" 显示在第一行。然后,遇到 `n 字符,导致换行,光标移动到下一行开头,"PowerShell 教程。" 显示在第二行。

我们还可以使用多个 `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