29 lines
903 B
PowerShell
29 lines
903 B
PowerShell
$path = "c:\Users\scans\Downloads\wspolnie_openg.sql"
|
|
$l = [System.IO.File]::ReadAllLines($path)
|
|
$enc = [System.Text.Encoding]::UTF8
|
|
$sz = 0
|
|
$tgt = 1950 * 1024
|
|
$split = -1
|
|
for ($i=0;$i -lt $l.Count;$i++) {
|
|
$line = $l[$i] + "`r`n"
|
|
$sz += $enc.GetByteCount($line)
|
|
if ($sz -gt $tgt) {
|
|
for ($j=$i;$j -ge 0;$j--) {
|
|
if ($l[$j].TrimEnd().EndsWith(';')) { $split = $j; break }
|
|
}
|
|
break
|
|
}
|
|
}
|
|
if ($split -ne -1) {
|
|
Write-Host "End Part 1 Line: $($split + 1)"
|
|
Write-Host "Start Part 2 Line: $($split + 2)"
|
|
Write-Host "Context:"
|
|
for($k=($split-2);$k -le ($split+2);$k++) {
|
|
$p = if($k -eq $split){">>>"}else{" "}
|
|
Write-Host "$p $($k+1): $($l[$k])"
|
|
}
|
|
$p1Size = 0
|
|
for ($i = 0; $i -le $split; $i++) { $p1Size += $enc.GetByteCount($l[$i] + "`r`n") }
|
|
Write-Host "Estimated Size: $([Math]::Round($p1Size / 1024, 2)) KB"
|
|
}
|