【发布时间】:2014-10-28 17:42:31
【问题描述】:
我有一个批处理脚本,它将由不受我控制的外部进程运行。外部进程可以为批处理脚本提供可变数量的参数。然后,我想将这些变量传递给 powershell 脚本。问题是,其中一些变量看起来像:
-Dfoo.bar=baz
Powershell 出于某种原因将其分成两个参数。在命令行上,我可以在 arg 周围添加引号并收工。但是我如何让批次以这种方式通过呢?这是我的脚本:
@echo off
SET CMD=C:\Scripts\foo.ps1
PowerShell.Exe -Command "%CMD%" %*
我注意到这个问题与this one 非常相似。在这里,他正在逃避 $ 字符。我尝试为点和/或破折号做类似的事情,但没有运气。有人有什么想法吗?
【问题讨论】:
-
我在 mvn 命令中遇到了同样的问题:
mvn ... -DgroupId=x.y ...,它产生了一个奇怪的错误 Unknown lifecycle phase ".y"。那是我决定使用 cmd ...
标签: windows powershell batch-file