当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell - 多行命令[带有示例]

作者:精品下载站 日期:2024-12-14 16:48:05 浏览:14 分类:玩电脑

PowerShell - 多行命令[带有示例]


PowerShell 多行命令有助于将命令拆分为多个语句以提高可读性。

可读代码可以很容易地将其功能目的传达给用户。为了代码的可读性,变量名和方法名应该有适当的命名约定。

有助于代码可读性的其他属性是代码的一致缩进和格式样式。

在 PowerShell 中,可以使用 `反引号字符)轻松创建多行命令,将长命令或单行命令拆分为多行语句。

反引号(`)字符用作转义字符,它基本上转义换行符并导致行继续。

在本文中,我们将讨论如何使用PowerShell多行命令将长命令拆分为多行。

PowerShell 多行命令

要将长命令拆分为多行,请在要拆分为多行的命令中使用反引号 (`) 字符。

让我们考虑一个例子,我们想要获取本地计算机上的可用磁盘空间,名称是一个很长的命令,这使得它非常难以阅读和管理。

我们可以使用 `(PowerShell 反引号字符)轻松地将长命令拆分为多行,在以下命令中使用 换行符

Get-CimInstance -ComputerName localhost win32_logicaldisk | where caption -eq "C:" | foreach-object {write " $($_.caption) $('{0:N2}' -f ($_.Size/1gb)) GB total, $('{0:N2}' -f ($_.FreeSpace/1gb)) GB free "}

在命令中使用`(PowerShell反引号字符)换行后,可以轻松阅读

Get-CimInstance -ComputerName localhost win32_logicaldisk `
| where caption -eq "C:" `
| foreach-object {write " $($_.caption) $('{0:N2}' `
-f ($_.Size/1gb)) GB total, $('{0:N2}' `
-f ($_.FreeSpace/1gb)) GB free "}

在上面的示例中,我们使用空格将长命令拆分为多行,并在要拆分的末尾添加 `(反引号字符)

使用多行命令,它在 PowerShell 中易于阅读和维护。

酷提示:使用测试连接来 ping PowerShell 中的计算机列表!

带注释的 PowerShell 多行命令

在 PowerShell 脚本编写中,我们在代码中添加注释以提供有关命令或函数的详细信息,或者出于测试目的注释掉原始代码并使用测试代码。

在 PowerShell 中,可以使用代码中的 轻松添加带注释的多行命令。

让我们通过将长命令分成多行并在脚本中添加注释来理解它,如下所示

Get-CimInstance -ComputerName localhost win32_logicaldisk | where caption -eq "C:" | foreach-object {write " $($_.caption) $('{0:N2}' -f ($_.Size/1gb)) GB total, $('{0:N2}' -f ($_.FreeSpace/1gb)) GB free "}

在上面的 PowerShell 脚本中,这是一个很长的命令,需要使用 `(反引号字符) 将其分成多行。在示例中,它获取 C 驱动器的可用磁盘空间。

酷提示:修复了在 PowerShell 中此系统上禁用运行脚本的问题!

让我们考虑一下,我们需要注释多行命令的 where title -eq "C:" 代码并使用 where title -eq “D: ”

Get-CimInstance -ComputerName localhost win32_logicaldisk `
<# | where caption -eq "C:" ` #> `
| where caption -eq "D:" `
| foreach-object {write " $($_.caption) $('{0:N2}' `
 -f ($_.Size/1gb)) GB total, $('{0:N2}' `
  -f ($_.FreeSpace/1gb)) GB free "}

在上面的 PowerShell 多行命令示例中,PowerShell 的 ` 反引号字符将长命令拆分为多行命令,并使用 多行注释掉代码。

在一行中执行多行命令

要在 PowerShell 中的一行中执行多行命令,请在每个命令后使用分号(;)。

让我们考虑下面的一个示例,在一行中运行多个命令

Write-Host "Get File version";$fileversion =(Get-Command D:\PowerShell\ShellWatcher.dll).FileVersionInfo.FileVersion;Write-Host "File version -" $fileversion  

在上面的 PowerShell 多命令示例中,它有 3 个命令,以分号 (;) 分隔

这些命令按顺序执行,打印消息并获取文件版本并打印输出,如下所示

[玩转系统] PowerShell - 多行命令[带有示例]

您还可以使用管道运算符 (|) 来链接命令并根据条件执行它们。

例如,从 Active Directory 获取广告组成员并将组成员导出到 CSV 文件,在一行中使用以下多个命令,并用管道运算符分隔

Get-AdGroupMember -Identity 'Administrators' | Export-csv -Path D:\Powershell\adgroupmemers.csv  -NoTypeInformation

在上面的 PowerShell 脚本中,第一个命令使用 Get-AdGroupMember cmdlet 获取管理员组的广告组成员,并使用管道运算符将输出传递到第二个命令。

第二条命令使用 Export-Csv cmdlet 将广告组成员导出到 CSV 文件。

酷提示:如何在 PowerShell 中向字符串或变量添加新行!

Dockerfile 中的 PowerShell 多行命令

要在 PowerShell 中运行多行 docker run 命令,请在 Dockerfile 中的每行末尾使用反引号 (`) 字符。

例如,下面的 Dockerfile 说明了多行 docker run 命令

docker run -p 80:8080 -p 443:443 `
           -h hostname.domain `
           -e "MYSQL_ROOT_PASSWORD=password" `

结论

我希望您发现上面有关 Powershell 多行命令的文章及其评论有用且具有教育意义。

使用 `(反引号字符),可以将长命令分成多行,使用 我们可以在多行命令中添加注释。

请阅读此处了解如何在 PowerShell 中创建多行字符串!

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯