在cmd脚本中运行powershell命令并替换字符串内容

时间:2015-06-09 05:49:33

标签: powershell cmd

我正在尝试在cmd脚本中运行powershell命令来替换文本文件内容

set file="C:\myfile.txt"

powershell -command "(Get-Content %file%) | ForEach-Object { $_ -replace "Latest", "FOO" } | Set-Content %file%"

我收到以下错误:

  

您必须在右侧提供值表达式   ' -replace'操作

我做错了什么?

由于

编辑(不确定是否与答案相关......)

文件内容为

\\10.10.10.10\Shared\Latest

1 个答案:

答案 0 :(得分:2)

您没有正确嵌套字符串

powershell -command "(Get-Content %file%) | ForEach-Object { $_ -replace "Latest", "FOO" } | Set-Content %file%"
                    ^----------------------------------------------------^
               string start                                        string end

使用单引号:

powershell -command "(Get-Content %file%) | ForEach-Object { $_ -replace 'Latest', 'FOO' } | Set-Content %file%"