我已经编写了许多批处理文件,但我认为批处理不能完成当前任务,我希望Powershell可以帮助我!我的任务中更困难的方面是在文件中定位一个特定的字符串,并在字符串之后插入一些文本,也在同一行上,并且不会干扰之后在同一行上再次出现的字符串。我找到了这个代码,但它对我的任务有两个陷阱......
$FileName = "C:\users\yef03111\desktop\main.xaml"
$Pattern = "yiapcspvgcp:GraphicFileProperties.ScalingMode="
$FileOriginal = Get-Content $FileName
[String[]] $FileModified = @()
Foreach ($Line in $FileOriginal)
{
$FileModified += $Line
if ($Line -match "$Pattern")
{
$FileModified += "success!"
}
}
Set-Content $FileName $FileModified
首先,它将文本放在模式后面的下一行,而我需要在同一行上。我期待的模式还包含""已经意味着我只是暂时缩短了测试时间。所以模式实际上是......
#Not this
$Pattern = "yiapcspvgcp:GraphicFileProperties.ScalingMode="
#But this
$Pattern = "yiapcspvgcp:GraphicFileProperties.ScalingMode="FixedRatio""
请帮助第一个计时器!!
答案 0 :(得分:0)
尚未测试过但是怎么样?
$FileName = "C:\users\yef03111\desktop\main.xaml"
$Pattern = 'yiapcspvgcp:GraphicFileProperties.ScalingMode="FixedRatio"'
$FileOriginal = Get-Content $FileName
[String[]] $FileModified = @()
Foreach ($Line in $FileOriginal)
{
if ($Line -match "$Pattern")
{
$FileModified = $Line + "success!"
}
else
{
$FileModified += $Line
}
}
Set-Content $FileName $FileModified