• 締切済み

PCに接続されたAndroidのCamera画像を

(1) Android を Windows11 PCに接続してファイル転送モード(もしくは他の適切なモード)に設定する (2) PC側で1回何か操作をすると、   (a) PC側にその日の日付のフォルダを作り、   (b) Android の 内部共有ストレージ/DCIM/Camera 内のファイルを全部コピーする   (c) コピーが完全であることを確認したうえでAndroid側のファイルを削除する といったことをやりたいんですが、(2)では簡単なプログラムでも書く必要があるかと思い、PC側の Python で「Android の 内部共有ストレージ/DCIM/Camera 内のファイル」を読む方法を調べ始めたものの、さっぱりわかりません。 検索してもエクスプローラーで手動でコピーする方法ばかりで、プログラムで読み込む方法がなかなか見つからないのですが、何か可能な方法はありますか?

みんなの回答

  • kzr260v2
  • ベストアンサー率48% (863/1797)
回答No.3

接続とはどのような接続でしょうか。 USBでの直接的な接続の場合、以下のようにAndroid端末側の操作も必要です。 https://support.google.com/android/answer/9064445?hl=ja#zippy= LAN接続できているなら、Android端末側でいずれかのファイル共有を有効にし、Windows側はそれにアクセスします。 このように、「Android端末側の操作は必須」です。それなしの状態で、Windows側のPythonなどのプログラムからアクセスは不可能です。 なるべく操作を少なくされたいなら、Android端末側の画像を「インターネット上のクラウドなどに保存」か「LAN環境内のNASなどに保存」をしておいて、Windows側で自動化した動作をさせる、という方向はいかがでしょうか。この場合、Windows側のプログラムは、クラウドにアクセスするか、LAN内のNASなどにアクセスするだけなので、実現は可能なはずですし現実的だと思います。 ※ NASとは、ネットワーク アタッチド ストレージの略で、LANに直接接続するハードディスクのようなイメージになります。 ※ Androidアプリを独自に開発する方向性もあります。 Androidアプリで、Windowsアプリと通信し、WindowsアプリからリクエストがあればFTPサーバを起動、WindowsアプリはFTPサーバにアクセスしファイルをAndroid端末からダウンロード、といった感じです。 しかし、これは悪意ある人に知られてしまうと、Android端末の中身を盗まれる危険があることになるので、私はこんな方法はとらないです。 ※ プログラミングのサンプルを探す場合は、英語のみで検索したほうがヒットしやすい気がします。 ※ 以下は、「Windows10とAndroidでファイル共有する一番簡単な方法」の記事です。 https://notepm.jp/blog/8297 私は、以前はながらくこの方法を使っていましたが、現在は利用していません。Android端末が複数台あったり、AndroidのUSB端子が不調になるなどしたからや、手間があったからです。そのためLAN内に数Tbyte容量のNASを用意して、共有したいデータはこれに集中保存することにしました。Android端末から転送する手間はありますが、共有データを再利用したい場合、AndroidからでもWindowsからでも楽に利用できます。 以上、参考にならなかったらごめんなさい。

yukiguni99
質問者

補足

ありがとうございます。端末側の操作が必須なのは当然でそれはかまいません。(1)のところで操作をします。 問題は(2)のところで、エクスプローラーでは端末内のDCIMフォルダを参照できるのだから、何か適当なパスを指定すれば Python プログラムから読めるのではないか? と思ってその方法を探しているわけですがそれが見つからないわけです。単なるファイルコピー程度のことなので、このために何かのアプリを導入するよりは自分で書いた単機能のスクリプトでやりたいんですよね。 英語のQAサイトにも質問してみます。

回答No.2

因みに。 パソコンとスマホの両方にOneDriveをインストールすると、貴方がやりたかった事が、常に自動で行われます(パソコンとスマホをケーブルで繋ぐ必要はなく、スマホをファイル転送モードにする必要もありません) スマホのカメラで撮影すると、何もしなくても、パソコンの画像ギャラリーに撮った写真が増えるので、とても便利です。

yukiguni99
質問者

お礼

ありがとうございます。実はクラウドをかましたくないんです。

回答No.1

shutilモジュールなどを使って下さい。 https://atmarkit.itmedia.co.jp/ait/articles/1911/01/news026.html

関連するQ&A