ファイルのサイズが大きすぎて、メールに添付できないことってありますよね。そんなときに便利なのが、ファイルを小さく分けて送る方法です。今回は、Windowsに標準で搭載されているPowerShellを使って、ZIPファイルを分割する方法をご紹介します。特別なソフトは必要なく、手軽に実践できますよ。
ZIPファイルを分割する理由とその方法
例えば、10GBを超える大きなファイルをメールで送ろうとすると、送信できないことがあります。そんなとき、ファイルを小さく分けて送ることで、問題を解決できます。PowerShellを使えば、特別なソフトをインストールせずに、簡単にファイルを分割できます。
PowerShellでZIPファイルを分割する手順
まず、分割したいZIPファイルを用意してください。例えば、「C:UsersYourNameDocumentslargefile.zip」というファイルを1MBごとに分割する場合の手順は以下の通りです。
- PowerShellを起動します。
- 以下のコマンドを入力します
$SplitSize = 1 * 1024 * 1024 # 1MB
$InFilePath = "C:UsersYourNameDocumentslargefile.zip"
$InStream = ::new($InFilePath, ::Open)
$FileCount = 0
$Buffer = New-Object byte $SplitSize
while ($true) {
$ByteCount = $InStream.Read($Buffer, 0, $SplitSize)
if ($ByteCount -le 0) {
break
}
$FileCount++
$OutFilePath = "$InFilePath.part$FileCount"
$OutStream = ::new($OutFilePath, ::Create)
$OutStream.Write($Buffer, 0, $ByteCount)
$OutStream.Close()
}
$InStream.Close()
Write-Host "分割完了$FileCount 個のファイルが作成されました。"
このスクリプトを実行すると、指定したサイズごとにファイルが分割され、連番が付けられたファイルが作成されます。
分割したファイルを結合する方法
分割したファイルを元に戻すには、以下の手順で結合できます。
- PowerShellを起動します。
- 以下のコマンドを入力します
$OutputFile = "C:UsersYourNameDocumentsrestored_largefile.zip"
$OutStream = ::new($OutputFile, ::Create)
$FileCount = 0
while (Test-Path "$InFilePath.part$($FileCount + 1)") {
$FileCount++
$InFilePathPart = "$InFilePath.part$FileCount"
$InStream = ::new($InFilePathPart, ::Open)
$Buffer = New-Object byte $InStream.Length
$InStream.Read($Buffer, 0, $InStream.Length)
$OutStream.Write($Buffer, 0, $Buffer.Length)
$InStream.Close()
}
$OutStream.Close()
Write-Host "結合完了$OutputFile が作成されました。"
このスクリプトを実行すると、分割されたファイルが順番に結合され、元のZIPファイルが復元されます。
このサイトをチップで応援
注意点とアドバイス
- 分割するファイルのサイズや数によって、処理時間が変わります。大きなファイルを扱う際は、時間に余裕を持って作業してください。
- 分割したファイルは、必ず同じフォルダに保存してください。順番が崩れると、結合できなくなることがあります。
- 分割したファイルを送る際は、受け取る相手にも分割ファイルと結合方法を伝えておくとスムーズです。
よくある質問や疑問
Q1: PowerShellのスクリプトを実行する際にエラーが出ます。どうすればいいですか?
PowerShellの実行ポリシーが制限されている可能性があります。以下のコマンドで実行ポリシーを変更してみてください
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
その後、再度スクリプトを実行してみてください。
Q2: 分割したファイルをメールで送る際の注意点はありますか?
メールの添付ファイルにはサイズ制限があります。分割したファイルを送る際は、各ファイルのサイズが制限内であることを確認してください。また、受け取る相手にも分割ファイルと結合方法を伝えておくとスムーズです。
Q3: 他の方法でZIPファイルを分割することはできますか?
はい、7-Zipなどの専用ソフトを使用すれば、GUIで簡単にZIPファイルを分割できます。ただし、PowerShellを使うことで、ソフトをインストールせずに作業を進めることができます。
まとめ
PowerShellを使えば、特別なソフトをインストールせずに、ZIPファイルを簡単に分割・結合できます。大きなファイルをメールで送る際や、容量制限のある環境でのファイル転送に非常に便利な方法です。ぜひ、この記事を参考にして、PowerShellを活用してみてください。
他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。



コメント