我可以在PowerShell Replace方法中使用变量吗



我的目标是运行一个PowerShell命令,该命令将更新markdown表中的文本。

我的项目结构看起来像:

/根
dashboardTable.md
替换.ps1

dashboardTable.md:

App Name | Build Version | QA Version | Prod Version
------ | ------ | ------ | ------ |
ProjectName  |0.0.0 | 0.0.0 | 0.0.0

替换.ps1

(Get-Content ./dashboardTable.md).replace('0.0.0', '0.0.1') | Set-Content './dashboardTable.md'

运行此命令有效,并将标记文件更改为:

App Name | Build Version | QA Version | Prod Version
------ | ------ | ------ | ------ |
ProjectName  |0.0.1 | 0.0.1 | 0.0.1

我正在尝试设置一个变量,该变量可以用来代替替换方法中的硬编码值,例如:

$MyVariable = '0.0.0'
(Get-Content ./dashboardTable.md).replace($MyVariable, '0.0.1') | Set-Content './dashboardTable.md'

但这将我的降价文件更改为:

App Name | Build Version | QA Version | Prod Version
------ | ------ | ------ | ------ |
0.0.1  |0.0.0 | 0.0.0 | 0.0.0

我甚至尝试切换替换值,并运行PowerShell命令,如:

$MyVariable = '0.0.1'
(Get-Content ./dashboardTable.md).replace('0.0.0', $MyVariable) | Set-Content './dashboardTable.md'

它将降价改为:

App Name | Build Version | QA Version | Prod Version
------ | ------ | ------ | ------ |
ProjectName  |ProjectName | ProjectName | ProjectName

有可能使用这样的变量吗?

我不确定为什么我会得到我得到的结果,但是,我知道在调用PowerShell脚本时出现了问题。

为了解决此问题,当我想运行脚本时,我在PowerShell集成终端中运行以下命令:CCD_ 1,并能得到预期的结果。

最新更新