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

[玩转系统] 如何在 PowerShell 和 CMD 中的一行中运行多个命令

作者:精品下载站 日期:2024-12-14 23:29:50 浏览:14 分类:玩电脑

如何在 PowerShell 和 CMD 中的一行中运行多个命令


在这篇快速说明中,我将向您展示如何在一行中运行多个 cmd 或 PowerShell 命令。有时,当您从外部程序、Windows 任务计划程序、登录脚本调用 PowerShell 命令时,当您需要绕过 PowerShell 执行策略时,或者当您必须快速将一段代码传递给用户以诊断/排除其计算机上的问题时,您必须执行此操作。

在 Windows CMD 中一行执行多个命令

您可以使用

&

cmd 运算符在一行中依次运行多个命令。例如:

net stop wuauserv & net start wuauserv & wuauclt /detectnow

[玩转系统] 如何在 PowerShell 和 CMD 中的一行中运行多个命令

如果您希望仅在前一个命令成功后才执行第二个命令,请使用

&&

格式:

ipconfig /flushdns && ipconfig /renew

您可以使用相反的条件:仅当第一个命令返回错误时才会执行第二个命令:

net stop wuauserv6 || net start wuauserv

在一行中运行多个 PowerShell 命令

如果在一行中使用 & 符号分隔命令,则会出现以下错误:

 The ampersand (&) character is not allowed. The & operator is reserved for future use.

代替

&

, 一个分号 (

;

) 在 PowerShell 中用于将命令分隔在一行中:

restart-service wuauserv -verbose; get-process notepad

[玩转系统] 如何在 PowerShell 和 CMD 中的一行中运行多个命令

这个单行 PowerShell 命令将重新启动 Windows 服务,并且在第一个命令完成后,它将列出有关 Windows 进程的信息。

PowerShell 中命令缩写的一个常见示例是管道,它允许您使用管道将一个命令的结果传递到下一个命令。在 PowerShell 中,“

|

” 符号用作管道运算符。以下是管道命令的示例:

Get-Service -Name wususerv | Stop-Service

相同的代码可以完全写成几行:

$service = Get-Service -Name wususerv
$serviceName = $service.Name
Stop-Service -Name $serviceName

管道可以减少代码大小,并且代码变得更加简单和可读。

要使用“开始”->“运行”菜单运行多个 PowerShell 命令,请使用以下格式:

powershell -command &"{ipconfig /all; ping a-d.site; pause "Press any key to continue"}"

如果您通过 PowerShell 控制台运行相同的命令,请使用以下语法:

powershell -command {ipconfig /all; ping a-d.site; pause "Press any key to continue"}

通过 Windows 任务计划程序运行多个 PowerShell 命令时,可以使用以下格式:

c:\windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command {Get-EventLog -LogName security; ipconfig /all ; get-service servicename}"

新的

&&

|| 

现代 PowerShell Core 版本 7.x 中提供了运算符。它们的工作方式与 cmd 中相同。

您可以通过运行来检查 PowerShell 版本

$PSVersiontable

&&

如果左侧的命令成功,操作员将运行右侧的 PowerShell 命令:

Write-host "Hello!" && Write-host "World!"

[玩转系统] 如何在 PowerShell 和 CMD 中的一行中运行多个命令

||

当您想要在前一个命令返回错误的情况下运行命令时,可以使用运算符:

get-service servicename || write-host "missing service"

[玩转系统] 如何在 PowerShell 和 CMD 中的一行中运行多个命令

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

取消回复欢迎 发表评论:

关灯