Split a file by numbers of lines: Difference between revisions

From roonics
Jump to navigation Jump to search
No edit summary
(Replaced content with "Moved to github: https://github.com/Jaylam13/jizzle-mo-fizzle")
Tags: Replaced Reverted
Line 1: Line 1:
This script will split large files by number of lines.
Moved to github:
Place the files you wish to split in the source folder and adjust the number of lines you want it to split by and run.


[[File:Split.png |500px]]
https://github.com/Jaylam13/jizzle-mo-fizzle
 
 
<pre>
<#
.SYNOPSIS
 
.DESCRIPTION
This script will get a list of all files in the "Files_to_split folder" then loop through each file and split
every XXX numbers of lines (set in the config)
 
.EXAMPLE
 
.OUTPUTS
 
.NOTES
 
#>
 
# Config
$FilesToSplitDir = "Files_to_split\"
$SplitFilesDir = "Split_files\"
$SplitFileLines = 100000
$padding = "      "
 
cls
 
# Check if source folder is present
if (!(Test-Path -Path $FilesToSplitDir)) {
    Write-Host "ERROR - $FilesToSplitDir folder not present" -ForegroundColor Red
    break
}
 
# Check if destination folder is present
if (!(Test-Path -Path $SplitFilesDir)) {
    Write-Host "ERROR - $SplitFilesDir folder not present" -ForegroundColor Red
    break
}
 
# Check source folder is empty
if ( (Get-ChildItem $FilesToSplitDir | Measure-Object).Count -eq 0) {
    Write-host "No files found to split" -ForegroundColor Red
    break
}
 
# Check If destination folder has files present if so stop
if ( (Get-ChildItem $SplitFilesDir | Measure-Object).Count -ne 0) {
    Write-Host "File detected in destination folder." -ForegroundColor Red
    break
}
else {
     
    # Get list of files to split
    $FilesToSplits = Get-ChildItem -Path $FilesToSplitDir
 
    # Loop through files in dir and split them
    foreach ($filesToSplit in $FilesToSplits) {
        Write-Host "Splitting -"$FilesToSplit -ForegroundColor Green
        $i = 0
        Get-Content $FilesToSplitDir$FilesToSplit -ReadCount $SplitFileLines | % { $i++; Write-Host $padding$SplitFilesDir$i"_"$FilesToSplit; $_ | Out-File $SplitFilesDir$i"_"$FilesToSplit }
    }
}</pre>
 
[[Category:PowerShell]]
[[Category:Azure]]

Revision as of 15:53, 18 February 2025