見出し画像

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に公開しています。
ぜひこちらもご覧ください!


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