首页 > 解决方案 > 如何在powershell -Command ...中使用管道(|)?

问题描述

我想从 Windows 控制台命令行执行 powershell 命令。我的方法是:

c:\>powershell -Command mypowershellstatment1;mypowershellstatment1;etc

问题:

如果一个复杂的 powershell 命令包含 powershell 管道运算符,那么 Windows 控制台似乎会解释它,而不是将其作为参数逐字传递给 powershell 可执行文件。

例如:

c:\>powershell -Command mypowershellstatment1 | anything;mypowershellstatment1;etc

给出标准控制台错误消息“'anything' 不被识别为内部或外部命令” 可运行程序或批处理文件。

问题

如何克服这个问题?

标签: powershellcmdconsole

解决方案


由于|在cmd中有类似的功能,所以需要转义。

在 cmd 中,适当的转义序列为^|

C:\>powershell -Command Get-Something ^| Do-Something

推荐阅读