$from = "C:\temp\large_log.txt"
$rootName = "C:\temp\large_log_chunk"
$ext = "txt"
$upperBound = 1MB
$fromFile = [io.file]::OpenRead($from)
$buff = new-object byte[] $upperBound
$count = $idx = 0
try {
do {
"Reading $upperBound"
$count = $fromFile.Read($buff, 0, $buff.Length)
if ($count -gt 0) {
$to = "{0}.{1}.{2}" -f ($rootName, $idx, $ext)
$toFile = [io.file]::OpenWrite($to)
try {
"Writing $count to $to"
$tofile.Write($buff, 0, $count)
} finally {
$tofile.Close()
}
}
$idx ++
} while ($count -gt 0)
}
finally {
$fromFile.Close()
}
Hej znalazlem kod w powershell sluzacy do dzielania dużych plikow na mniejsze. działa bardzo szybko. Potrzebuje jednej modyfikacji. Czy istnieje mozliwosc modyfikacji zeby nie dzielilo mi linni na pół (urywa w losowym miejscu przy osoiagnieciu $upperBound = 1MB). Chodzi mi o to zeby zachowany byl ten roziar bufora ale zeby dzielilo tylko całe linie. Moze ktos pomoc ? czy to jest możliwe ?