Skip to content

Instantly share code, notes, and snippets.

@mt8
Created March 17, 2026 03:38
Show Gist options
  • Select an option

  • Save mt8/6ba65228a59212ff9b5c2093e3658bad to your computer and use it in GitHub Desktop.

Select an option

Save mt8/6ba65228a59212ff9b5c2093e3658bad to your computer and use it in GitHub Desktop.
古いiPhoneから写真と画像を取り出す
#!/bin/bash
# gphoto2がインストールされているか確認
if ! command -v gphoto2 &> /dev/null; then
echo "エラー: gphoto2がインストールされていません"
echo "Homebrewを使用してインストールできます: brew install gphoto2"
exit 1
fi
# 保存先ディレクトリ(スクリプトと同じ場所)
SAVE_DIR="$(cd "$(dirname "$0")" && pwd)"
echo "=========================================="
echo "iPhone 3GS 写真・動画ダウンロード"
echo "=========================================="
echo "保存先: ${SAVE_DIR}"
echo "=========================================="
# iPhoneが接続されているか確認
echo "iPhoneを検出中..."
if ! gphoto2 --auto-detect | grep -q "iPhone"; then
echo "エラー: iPhoneが検出されません"
echo "USBケーブルが接続されているか確認してください"
exit 1
fi
echo "iPhone 3GS が検出されました"
echo ""
echo "iPhoneへの接続を初期化中..."
# 一度接続を確認してリセット
gphoto2 --auto-detect > /dev/null 2>&1
sleep 2
# 作業ディレクトリに移動
cd "$SAVE_DIR"
# 全ファイルをダウンロード
echo "ファイルをダウンロード中..."
echo ""
gphoto2 --get-all-files
echo ""
# 保存されたファイル数をカウント
DOWNLOADED=$(ls -1 IMG_*.* 2>/dev/null | wc -l | tr -d ' ')
echo ""
echo "=========================================="
echo "完了"
echo "=========================================="
echo "保存されたファイル: ${DOWNLOADED}個"
echo "保存先: ${SAVE_DIR}"
echo "=========================================="
# ファイル形式ごとの統計を表示
if [ "$DOWNLOADED" -gt 0 ]; then
echo ""
echo "ファイル形式の内訳:"
for EXT in JPG PNG MOV; do
COUNT=$(ls -1 *.${EXT} 2>/dev/null | wc -l | tr -d ' ')
echo " ${EXT}: ${COUNT}個"
done
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment