从批处理文件执行Powershell命令时转义双引号

时间:2020-01-03 12:56:57

标签: windows powershell batch-file command escaping

我必须在PowerShell命令中使用带有正则表达式的replace命令。用RegEx替换仅可使用双引号(“)。此外,要在批处理文件中执行PowerShell命令,该命令必须在双引号(”)内,如下所示:

powershell -command ""

因此,有一种方法可以转义与replace命令一起使用的双引号,因为以下情况由于双引号冲突而引发错误:

powershell -command "$content -replace ",$", ",NULL""

我曾尝试使用(`),例如:

powershell -command "$content -replace `",$`", `",NULL`""

有人可以提出一些解决方案吗?

2 个答案:

答案 0 :(得分:0)

使用两次双引号(即“”)在PowerShell中将其转义。

echo "Here is my ""double quoted"" test."

这将打印:这是我的“双引号”测试。

您尝试过以下方法吗:

-command "$content -replace "",$"", "",NULL"""

答案 1 :(得分:0)

这是一个迟到的回复, 但是你可以在双引号之间使用 ' 引号,然后你可以这样写: powershell -command "$content -replace ',$', ',NULL'"

相关问题