【发布时间】:2021-03-10 14:59:25
【问题描述】:
我想从 Windows 控制台命令行执行 powershell 命令。我的方法是:
c:\>powershell -Command mypowershellstatment1;mypowershellstatment1;etc
问题:
如果一个复杂的 powershell 命令包含 powershell 管道运算符,那么 Windows 控制台似乎会对其进行解释,而不是将其作为参数按字面意思传递给 powershell 可执行文件。
例如:
c:\>powershell -Command mypowershellstatment1 | anything;mypowershellstatment1;etc
给出标准控制台错误消息“'anything' 不被识别为内部或外部命令” 可运行的程序或批处理文件。
问题
如何解决这个问题?
【问题讨论】:
-
转义
|和^:Get-Something ^| Do-Something -
请注意,如果您直接从命令行运行而不是创建某种命令行脚本,您可以简单地先输入
powershell,然后您将收到PS >提示符可以在本机输入任何你想要的 powershell 命令,而不必担心转义。 -
为什么你的
-Command值没有用双引号括起来?它是一个命令字符串。 -
@Efie 因为它是 Azure 配置扩展,所以我不会在那里“先简单地键入 powershell”
-
@AdminOfThings 因为语句本身都包含双引号和单引号
标签: powershell cmd console