はじめに
一般的にAndroid端末はUSB接続をすると、Windows PCとファイル転送が可能です。
ただしPerl言語等ではそのフォルダにアクセスできません。
Android端末にSMB serverアプリをインストールすると、Windows等のデスクトップパソコンにマウントできるようになります。
マウントするとドライブレターが付くので、外付けHDDと同じ感覚で、Perlでも扱えます。
Android端末にSMB serverをインストールして起動する。
色々試してみましたが、AL-SULTANのSMB/Samba Server Proが最適です。(フリーバージョンは広告が酷い)
Android端末をパソコンと同じLANに接続します。事前にIPアドレスを確認しておきます。
IPアドレスの確認方法は、「設定」→「ネットワークとインターネット」→「インターネット」
→「(WLANのSSID)の歯車アイコン」→「画面の下側のIPアドレス」で確認できます。
アプリを起動したら、住所 Any, ポート 4445, 株式 MainStrage,MemoryCard, ユーザ rootのままでOK
オプションもデフォルトのままでOKです。
一番下のSMBサーバをスタートしてください。
Windowsパソコンでの操作
まずはショートカットを作成し「cmd.exe」と入力します。するとターミナルの黒いアイコンが出来ます。
次にその黒いアイコンを右クリックしプロパティを開き、作業フォルダを空欄にしてください。
準備が出来たら、このアイコンをダブルクリックして、ターミナルを開きます。
次のコマンドを入力すると、Zドライブに、Android端末のmicroSDカードをマウントできます。
IPアドレスは事前に調べておいたandroid端末のIPアドレスです。
NET USE Z: \\192.168.xxx.xxx\MemoryCard /TCPPORT:4445
初回はユーザ名を聞いてくるので「root」と入力します。パスワードは何も入力せずにEnterキーを押します。
これで、Z:ドライブにマウントされます。
このコマンドはBATファイルにしても機能します。
Perl等のスクリプトで自由にアクセスできます。もちろんrobocopyコマンドも使えます。めっちゃ便利!!
もし、メインストレージをマウントしたかったら、以下のコマンドになります。
(要するに、SMB serverアプリの「株式」欄に登録した名称が、共有フォルダ名になる)何故「株式」と翻訳されるかは謎。
NET USE Z: \\192.168.xxx.xxx\MainStrage /TCPPORT:4445
アンマウントする場合は、PCのZ:ドライブを右クリックして「切断」とします。
簡単ですね!