見出し画像

PowerShell でかいバイナリファイルを分割したい

前回テキストファイルを分割する記事を書きました


今回は、大きなバイナリファイルを小分けするときのメモです。

バイナリ形式ファイルtest.pdfを30kbづつ分けるときのコマンド例

$originalfile = "test.pdf" #分割したいファイル 
$bunkatsugyo = 30kb #分割するファイルサイズ 
$cnt=0;Get-Content $originalfile -Encoding Byte -ReadCount $bunkatsugyo | % {$_ | Set-Content "$(([string]$cnt).PadLeft(5, '0')).div" -Encoding Byte; $cnt++}

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


解説:

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


連結するには
一番簡単に連結する方法はコマンドプロンプトでこうします。

copy /b *.div ketugou.pdf

powershell でも結合できるハズなんですけども出来ないですね。
また調べて追記します


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




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