为什么这个PowerShell替换命令会遇到错误?

为什么这个PowerShell替换命令会遇到错误?

我有一个替换给定文件内容的脚本:

set IsSecure=false
if "%Protocol%" == "https" (
    set IsSecure=true
)

powershell -Command "(gc %PublishRoot%\Settings.json) -replace '\"IsDeveloping\"\: \"true\"', '\"IsDeveloping\": \"false\"' | Out-File %PublishRoot%\Settings.json" -encoding utf8
powershell -Command "(gc %PublishRoot%\Settings.json) -replace '\"IsSecure\"\: \"(true|false)\"', '\"IsSecure\": \"%IsSecure%\"' | Out-File %PublishRoot%\Settings.json" -encoding utf8

第一行有效并且"IsDeveloping": "true"变为错误。

但是第二行使用变量,出现了这个错误:

“','“IsSecure”:“true”'|Out-File C:\path-to-publish\Settings.json”此时是意外的。

相关内容