見出し画像

PowerShell でかいテキストファイルを分割したい

大きなテキストファイルやCSVファイルを小分けするときのメモです。

テキスト形式ファイルtest.txtを10行づつ分けるときのコマンド例

$originalfile = "test.txt" #分割したいファイル 
$bunkatsugyo = 10 #分割する行数 
$cnt=0;Get-Content $originalfile -ReadCount $bunkatsugyo | % {$_ | Out-File "$(([string]$cnt).PadLeft(5, '0')).txt" -Encoding UTF8 -Append; $cnt++}


これを実行するとファイルが連番で分割します。


解説:

Get-ContentのReadCountオプションで何行ずつ分割するか指定して、パイプ処理でOut-Fileに渡しています。Out-Fileでは連番のファイル名を付けて出力しています。連番ファイル名は5桁で0埋めしました。このようなコマンド例はネット上にありますが、0埋めしていないのでファイルを開くとき面倒になるので0埋めにしています。



このコマンドをよく使うなら関数化して独自コマンドにする方法があります。


0埋めについて


#PowerShell #コマンドレット #ファイル分割 #独自コマンド #0埋め #ゼロパディング #プログラミング学習  

この記事が気に入ったらサポートをしてみませんか?