So I decided to answer that with blog post in which a similar script divides lines of a text files between two text files. Nothing fancy, it's rather basic script :)
This script just checks whether the line count increment is either odd or even. Based on that outcome, the results goes to output file 1 or 2.
#Script initialization $linecount = 0 $sourcefilename = Read-Host "What is the full path and name of the log file from which you want to divide the lines? (e.g. D:\mylogfiles\mylog.txt) " $destinationfolderpath = Split-Path $sourcefilename -parent $srcfile = gci $sourcefilename $filebasename = $srcfile.BaseName $fileext = $srcfile.Extension #Functions Function check-even ($num) {[bool]!($num%2)} #Main Get-Content $sourcefilename | Measure-Object | ForEach-Object { $sourcelinecount = $_.Count } Write-Host "Your current file size is $sourcelinecount lines long" Write-Host File is $sourcefilename - destination is $destinationfolderpath $content = get-content $sourcefilename | % { $linecount ++ If(Check-Even($linecount)) { Write-Host "Writing part: $destinationfolderpath\$filebasename`_part2$fileext" Add-Content $destinationfolderpath\$filebasename`_part2$fileext "$_" } else { Write-Host "Writing part: $destinationfolderpath\$filebasename`_part1$fileext" Add-Content $destinationfolderpath\$filebasename`_part1$fileext "$_" } }
0 reacties:
Post a Comment