![見出し画像](https://assets.st-note.com/production/uploads/images/145629650/rectangle_large_type_2_03579f81d0e9d00f10a62a95ff525c43.jpeg?width=800)
GoogleDriveから大量のデータをダウンロードする方法 - 分割されるファイルを自動で結合する -
こんにちは。
競馬ばびぃ です。
競馬AIを開発、note上でコードを公開しています。
今回は競馬AI とは別の話題、GoogleDrive 上にある大きなファイル(フォルダ)をダウンロードした時に起こる、面倒な状況を解決するためのコードを紹介します。
GoogleDriveの面倒なダウンロード仕様
「GoogleDrive にある大量のファイルを、自分のPCにダウンロードしたい。」
そんな時、ありますよね。
ファイルをダウンロードすると、当然zipに圧縮された状態でダウンロードされます。
しかし、ダウンロードするデータが大きすぎると、一定のサイズで複数のzip(例えば1.zip, 2.zip ..)に分かれてダウンロードされてしまいます。
そして、各zip内の階層構造は元のドライブの階層構造と同じですが、分割されてダウンロードされてしまっているので、
例えば、元々
\A\B\file1,file2,file3
という構造だった場合、各zipの解凍後には
file1 → Second\A\B\にある
file2 → Third\A\B\にある
という極めてややこしい形になっています。
ファイルの数が多ければ多いほど、手動で元ドライブと同じ構造に修正することは難しくなります。
・・・ということで、複数のzipファイルをまとめて解凍し、元階層と同様の形にまとめるプログラムを作成しました!
プログラム
環境:macOS Sonoma 14.5 ターミナル
※ Windows では動作未確認です。
ターミナルを開き、コードを実行してください。
cd ~/Desktop/解凍用
mkdir -p combined
for archive in *.zip; do
ditto -xk "$archive" combined && rm "$archive"
done
解説
cd ~/Desktop/解凍用
ここでは、解凍したいzipファイルのある場所を指定します。
おすすめは、デスクトップに「解凍用」というフォルダを作っておき、解凍して一つにまとめたい複数のzipファイルをぶち込み、都度このプログラムを実行することです。
そのため、今回は「デスクトップ上にある"解凍用フォルダ"の中に存在するzipファイル」というように場所を指定しています。
解説、と書きましたが、あとは特にありません。
場所が正しく指定できたら、実行してください。
宣伝
冒頭に書いたように、普段は競馬AIを開発してnoteに公開しています。
ぜひこちらもご覧ください!
この記事が気に入ったらサポートをしてみませんか?