我有以下 powershell 命令:
(gc c:\foo.xml -Raw) -replace '(?s)(.*)<bar baz="foo" />', '$1LOL' | Out-File c:\foo.xml
我知道当我在 PowerShell 中键入此 powershell 命令时,它已得到验证。
现在我想从 cmd 提示符下运行它,所以我知道我需要在 cmd 中做:
powershell -Command [the-above-powershell-command]
但是,powershell 命令有很多特殊字符,无论我使用什么转义符,都无法正确处理。
谁能帮我转义 powershell 命令,这样我就可以把它放在 cmd 中?
请您参考如下方法:
自己找到答案:
powershell -Command "(gc c:\foo.xml -Raw) -replace '(?s)(.*)<bar baz=\"foo\" />', '$1LOL' | Out-File c:\foo.xml"
诀窍是用\而不是"来转义"。
Link这帮助我弄明白了。