December 4, 2020 at 4:23 pm
This script reads thru a file and removes the last line, but before it does that can I grab a value from that last row and add it
into my output stream? The value in the last line as an eye-catcher of $X and then grab the values from the 3rd position until
it hits the next delimiter(,).
Thx.
param
(
[string]$path
)
$myFiles = Import-Csv -Delimiter '~' -Path $path -Header Path, ShortName
# Then you can call it like so
$myFiles.Path #Returns just the path
$myFiles.ShortName # Returns the shortname
$path='G:\AreaSistemi1\'
$count = 0
foreach ($myFile in $myFiles)
{
get-childitem -path $myFile.Path *.spx | % {
" Starting File Process....." >> $myFile.Pathsistem.log
$PDate = get-date
$date = get-date -uformat "_%d_%m_%Y_%H%M%S.bak"
#"Set backup date to $date" >> $path\sistem.log
$newname=($_.fullname -replace ".SPX",$date)
$file = [System.IO.Path]::GetFileNameWithoutExtension($_.fullname)
"File backup name is $newname" >> $myFile.Pathsistem.log
Rename-Item $_.fullname $newname
"Renamed file to $newname" >> $myFile.Pathsistem.log
$lines = get-content $newname
$count = 0
foreach ($line in $lines[0..($lines.length -2)])
{
$line + " " + $myFile.ShortName | Out-File "$path\sistem.csv" -append
$count ++
}
Write-Host $_.fullname
"Files Processed on $PDate are $newname and Lines Processed $count " >> $path\sistem.log
}
}
December 4, 2020 at 6:54 pm
Can you give a short example of what's in the file and what you want? Maybe a 2-3 line file?
December 4, 2020 at 8:46 pm
Each file has what I'll call a total line(Last line to me).
$M00000000,$F000000,$J08,$V1000,$f000000,$m0000000,$n0000000
$M00000000,$F000000,$J08,$V1000,$f000000,$m0000000,$n0000000
$M00000000,$F000000,$J08,$V1000,$f000000,$m0000000,$n0000000
$M00000000,$F000000,$J08,$V1000,$f000000,$m0001274,$n0001274
$Z,$I RW6 ,$N 1 ,$G201120,$H141340,$M00000000,$F000000,$X0000001240,$U0000
I want the value from the $X(lastline of file) only, appended to my output file as the last field.
This 0000001240 needs to be my last field in output file.
Thx.
December 7, 2020 at 3:35 pm
The $Z line will always be the last line in the file and need to get the value from $X into my output before cleanup of that line.
Thanks.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply