Quiero reemplazar la palabra "XRF" con "CALC" en la columna 27 a 30 en la línea 5 del archivo adjunto, si todos los valores en la columna denominada "Total" son 99,95 como en el archivo adjunto.
$InFolder = "C:\sif\"
$OutFolder = "C:\Edited\"
$files = Get-ChildItem $InFolder -Recurse -Include *.sif
foreach ($file in $files) {
$OutFile = $OutFolder + $file.BaseName + "_FeC.sif"
$OutFile
$Lines = Get-Content $file
$Fe_C = "Y"
foreach ($Line in $Lines) {
while ($Fe_C -ne "N") {
if ($Line.ReadCount -ge 8) {
if (($line.Split(" ")) -eq "99.95") {
$Fe_C = "Y"
} else {
$Fe_C = "N"
}
}
}
}
}
Debe comprobar si ninguna de las líneas de datos tiene un valor distinto de 99,95 en la columna de datos 15 y, de ser así, reemplace la primera aparición de "XRF" en la línea 5 por "CALC".
Para hacer eso, reemplace esto:
$Lines = Get-Content $file
$Fe_C = "Y"
foreach ($Line in $Lines) {
...
}
con este:
$Lines = Get-Content $file
$different = [bool]($Lines |
Select-Object -Skip 7 |
Where-Object { $_ } |
Where-Object { ($_ -split '\s+')[15] -ne '99.95' })
if (-not $different) {
$Lines[4] = $Lines[4] -replace 'XRF (.*)', 'CALC$1'
}
Set-Content -Path $file -Value $Lines
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras