Skip to main content
 首页 » 编程设计

powershell之CMD:如何在 cmd 中转义此 powershell 命令

2024年12月31日21lori

我有以下 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这帮助我弄明白了。