首页 > 解决方案 > 更改测试文件中的字母

问题描述

我有一个文件,它的字符被认为是生产或测试的。

P=生产 T=测试

select-string "\\myfileserver\files\999.80214.va.000000373.20210122.173314.20210755" -pattern "T"

上面返回一个 True。我需要将文件中的 T 更改为 P

999.80214.va.000000373.20210122.173314.20210755:1:ISA*00* 00 ZZ*83-1002042 *ZZ*841469824 *210 123*0753*$*00501*000000209*0*T:

如何在此字符串中搜索 T

标签: powershell

解决方案


好的,通过我们一步一步收集的所有必要信息,我想出了这个简单的解决方案:

$Path = '\\myfileserver\files\999.80214.va.000000373.20210122.173314.20210755'
$Content = Get-Content -Path $Path
$NewContent = 
(($Content | Select-Object -First 1) -replace '(?<=\*)T(?=:$)','P'),
($Content | Select-Object -Skip 1)
Set-Content -Path $Path -Value $NewContent

它获取文件的内容,仅更改第一行,将新的第一行与文件的原始未更改的其余部分结合起来,并将其写回原始文件。


推荐阅读