いつの間にかクライアントアプリの名前がバックアップと同期というわかりづらい名前になっていたGoogle ドライブ。Googleアカウントを持っている人と手軽にファイルを共有できるのでよく使っているのだが、今回また濁点問題でハマった。Macはファイルシステムの仕様で濁点を一文字として扱うアレである。もう。
とりあえずDropbox最強、という話。
Macの濁点問題の発生再び
頼まれて、あるExcelファイルに基づいて大量にファイルを生成するスクリプトを作った。そういう次第なので、当然生成されるファイル名は日本語である。スクリプトはpython製で、Macで作成し、実行した。
で、生成したファイルはGoogle Driveの共有フォルダ経由で渡したのだが…ここで問題が発生。懐かし…くもなんともないが、濁点問題である。Macの濁点問題は、Mac以外のOSを使っている人がいつかぶち当たる問題で、私も困った経験があるが(「rsyncでiconvオプションをつけると、deleteオプションの挙動が変わる??(Mac) – 或る阿呆の記」)、最近は扱いにも慣れてすっかり忘れていた。で、忘れた頃にまたやってきた。
Mac製の濁点がついたファイルがあると、Windows側で圧縮処理ができなかったりする。もちろんWidows側でリネームすれば問題ないのだが、なにしろ数百というファイルがあるので、いちいちやってられない。さて、どうするか。
案1: Windows側でスクリプトを実行する
MicrosoftはナデラCEOに代わってから面白い取り組みをよくしている。Windows 10上でLinuxを動かせるWindows Subsystem for Linux(以前はBash on Ubuntu on Windows, BoWとか呼ばれていた)はその一つだろう。cygwinやMinGWには色々とつらい思い出があるので、これは本当に有難い。昨今のMacが微妙なのもあって、Windowsに心揺らいでいる諸氏もいることだろう。
ということで、最近はWindowsでも簡単にpythonスクリプトを実行できる環境が整っている。Windows特有の環境(文字コードとかドライブレターとか)を考慮しなくて良いのは嬉しい。
で、半日かけて環境を構築し、Windows側でスクリプトを実行したら、問題なくファイルが生成された。よし。
案2: Dropboxを使う
とまぁそこまでやって気づいたのだが、Google DriveじゃなくてDropboxを使えばどうだろうか、と。
で、一度Dropboxに上げなおして、Dropbox経由でファイルを共有したところ……うまくいってしまった。Dropboxはちゃんと治してくれるらしい(参考「Mac OS X の NFD 問題での対策諸々 - Qiita」)。最初からDropboxでやればよかった。あの苦労はなんだったんだ。
なんだかんだいいつつ、オンラインストレージサービスは今なおDropboxが頭ひとつ抜けていると思う。Linuxでも使えるし。
コメント