替换字符串但重复字符串的一部分

时间:2016-05-25 08:34:13

标签: string powershell replace

我需要更改几个批处理文件 循环遍历文件并替换工作正常。

我只是想弄清楚如何使用

这样的单行
net use w: \\someserver\someshare  

替换为两行

net use w: /delete /yes  
net use w: \\someotherserver\someshare 

是否可以使用替换和正则表达式? 或者我是否必须将变频器存储在变量中以实现此目的?

感谢,

1 个答案:

答案 0 :(得分:1)

是的,这可以通过-replace

实现
$yourFilePath = 'PATH_TO_YOUR_FILE'
$content = Get-Content $yourFilePath
$content -replace '^net use (\w): .*', "net use `$1: /delete /yes `n`$0" | Set-Content $yourFilePath

脚本会在文件中添加所需的行并使用特定驱动器,但不检查行(net use drive: /delete /yes)是否已存在。