我正在尝试为新的字符串替换多个字符串,总是在同一个文件中。 这将是一个例子。这没有给我带来任何问题。
(get-content modTags.bas) | %{$_ -replace "rng_origin.Offset(ColumnOffset:=1)", "rng_origin.Offset(ColumnOffset:=0)"} | set-content modTags.bas
但是如果我在脚本中重复这一行(事实上,我必须这样做20次)我得到了文件当前正在使用的错误。
我试图在(set-content)
中添加(get-content)
,但似乎它不适用于管道中第一个命令中的allow参数。
我已经知道如何“绕过”此错误。
通过键入内联的所有替换内容,它可以正常工作(或在新行中继续使用代码)。
(get-content modTags.bas) | %{$_ -replace "X","Y" `
-replace "A","B"} | set-content modTags.bas
所以这是一个关于为什么set-content使文件在同一个脚本中占用新查询以及如何避免它的问题?使用()
解决方案,使用get-content很容易,而且我有点期待类似于set-content的内容。
第二。你可以建议任何更好的替代方案来替换不同的字符串并将其保存在同一个文件中(不创建file.new.txt文件.old.txt或类似的东西)
谢谢!