ワクワクして働くための生産性↗向上Hacks

ワクワクは最強のライフハックなのです。

OneDriveで任意のフォルダ・外部HDDのフォルダを同期させる方法

f:id:ganapati55:20170925174551j:plain

ども!

Ganapatiです。

f:id:ganapati55:20170707142236j:plain

最近ですが、GSuite(旧GoogleApps)とOffice365が激しく争っています。検索サービスの世界ではGoogleが圧倒的にマイクロソフトのBingに勝利したわけですが、ハードの世界ではWindowsがGoogleのChromeOSに圧倒しています。いわばそれらの代理戦争としてクラウドサービスバトルが起きているわけです。

ユーザーにしてみれば低価格で素晴らしいサービスが提供されやすくなるわけなので「もっとやれ」という感じなのですがね。

クラウドストレージの使いやすさのポイントとOneDriveとの比較

※タイトルにある「やり方」だけ知りたい人は以下飛ばして読んでください。

① 容量は十分か?

容量そのものはクラウドストレージを使用する目的にもよりますが、十分な容量があるかは重要です。

特に外付けのHDDに大量のデータがありそれらのデータのバックアップ先として利用したり、複数人数で共同で使ったりするのであればできるだけ大きな容量が必要になります。

ただ、容量が大きくなればなるほどクラウドサービスのコストは大きくなる傾向にあります。

そういった中でOneDriveは圧倒的な低コスト(500円/月~)で1TB~のストレージ容量をアカウント毎に使用でき、抜群のコストパフォーマンスになっています。

② バージョン管理されるか?

クラウドストレージによっては変更履歴管理(バージョン管理)機能が備わっています。間違って上書きしてしまったときや削除してしまったときに任意の時点のデータに戻すことができるので非常に便利です。

まあ、なかなか使わない機能ですがね・・・。

ちなみにバージョン管理機能があれば「どこが変わったか表示する」機能もある可能性があります。

もちろんOneDriveはサポートしています。

③ 必要なデータだけ同期可能か?

クラウドストレージの多くはPC上のフォルダとクラウド上のフォルダの同期機能があります。かつてはクラウドストレージ内のデータ全てをPC上の一つのフォルダに全て同期させてしまうものが多かったのですが、最近はクラウドストレージ内のフォルダから選択してPCと同期できるようになってきました。

その結果、頻繁には使用しないようなデータは同期せずにクラウド上で操作し、逆にネットワークにつなげないときでも使いたいようなデータはPCに保存して同期をとることで利便性を確保しつつPCのHDD容量を確保できるようにしています。

もちろんOneDriveはこれらの機能を既にサポートしています。

また、2017年中もしくは2018年のクリエイターズアップデートの頃にはすべてのOneDriveサービスでファイル名だけ同期、データのパージといった更に利便性を高めた操作が可能になる予定です。

④ データの共有制御はわかりやすい&安全か?

クラウドストレージの大きな機能として「データの共有」というのがあります。

メールに添付するには大きすぎるようなファイルに「共有用URL」を発行しそれを相手に知らせるという「ファイル便」のような使い方から、ファイルそのものを共同編集するような使い方まで、使い方は年々広がっています。

それゆえ、同時にセキュリティ面で安全かどうか、セキュリティのかけ方がシステム管理者でなくてもわかりやすく操作しやすいかも選択のポイントになってきます。

もちろんOneDriveに関して、特にOffice365Businessといった法人向けプロダクトにおいてはこの辺りはきちんと整備されています。

アドオン等を購入すれば非常に細やかに制御することも可能です。

⑤ オンライン・オフラインでの使いやすさは?

クラウドストレージは近年オンラインとオフライン、操作デバイス間に存在する垣根をできるだけ感じさせないような作りになりつつあります。いわゆる「シームレス化」が進んでいるということです。

この点においてはOneDriveは他のサービスを圧倒しています。そもそもWordやExcelといったスタンダード化されたオフィスソフトに組み込んでしまっているわけですから。

わざわざダウンロード保存して⇒編集して⇒再度アップロード、というような流れをする必要がないのです。クラウド上のデータをリアルタイムにWordなどで直接編集できるようになりました。(※もちろん最新のOfficeアプリケーションでの操作が必要です。)

⑥ 拡張性はあるか?

最近はクラウドストレージにデータを保存するだけではなく、クラウドストレージ上にプログラムを展開しWEBアプリケーションとして動かすことができるようになってきました。言わば「サーバー代わり」にしているのです。

この分野ではGoogleが圧倒的にリードしていますが、マイクロソフトも近年だいぶ追い上げており、OneDriveを支える「SharePoint」というサービスの機能が拡充しています。

⑦ 他サービス・アプリなどの連携は?

最後に、クラウドストレージの選択のポイントとして、他のサービスやスマートフォン等のアプリとの連携が可能かというのがあります。

この分野ではDropBoxがリードしていますが、Office365がWindows10と並行して普及しているせいかOneDriveへの連携サービスも増えてきているように思えます。

というわけで、個人的な感想ですが・・・

マイクロソフトのOneDriveは仕事で使うには理想的

と私は断言します。もちろん課題はありますが、とにかく2016年ころより進化が激しいです。これからも期待大なのでOneDriveを使いこなすのが生産性を高めるポイントになってくるのは間違いありません。

OneDriveで任意のフォルダ、外付けドライブのフォルダを同期する方法

さて、本題に移ります。

できない?そんなのウソです。

「OneDrive 任意のフォルダ 同期」というような検索をすると、多くの情報は「OneDriveフォルダ内では選択できるが様々な場所にあるフォルダを選択できない」というような情報が多く表示されます。

しかしながら、それは半分正解で、半分誤りの情報です。

確かに、OneDriveは2017年時点ではPC内の「OneDriveフォルダ」内にあるものしか同期できません。クラウド上のフォルダは同期させるものを選択できますが、選択したものはすべてPC上のOneDriveフォルダにしか同期されません。(PC上の任意の場所に同期はできない)

しかし、次の機能を使用することによって実質的にPCおよび接続されている外部ストレージの任意のフォルダを選択して同期させることができます。

Windowsの機能「ディレクトリジャンクション」

使用する機能は「ディレクトリジャンクション」というものです。

大雑把に言うと、PC上のOneDrive内のフォルダと任意の場所のフォルダをシステム的につないでしまいましょうというやり方です。

例えば外付けドライブにある「要保存資料」というフォルダをOneDriveに同期させたい場合、すでにPC内にあるOneDriveフォルダ内につなぐことで「要保存資料」というフォルダとデータが実際にPC内にあるかのようにOneDriveの同期クライアントに認識されるわけです。

実際にやってみた

実際に操作してみました。

私の場合は外付けのSDカード(Dドライブ)上に設定した「Sample」というフォルダをOneDrive内の「テストフォルダ」内にディレクトリジャンクションします。

① 元のフォルダーとワンドライブ内のフォルダーパスをメモ

まずは元のフォルダーのパスをメモします。

よくある事例としてはDドライブであれば「D:¥Sample」とか「D:¥上位のフォルダ名¥Sample」となります。

※選択したフォルダを開いてフォルダ名が表示されているところを「右クリック」⇒「アドレスの編集」⇒「青く表示されている部分をコピー」でメモできます。「アドレスのコピー」でもOKですが、理解を深めるためです。

また、PC内のOneDriveフォルダーのパスもメモします。ここでは仮に「テストフォルダ」というフォルダの中に「Sample」フォルダが表示されるようにしたいと思います。

操作方法は前述と同じですが、フォルダーの場所がわからない人はOneDriveクライアントソフトの設定画面から確認できますし、一般的には「C:¥Users¥ユーザー名¥OneDrive¥任意フォルダ」になります。今回は任意フォルダの下層に「Sample」をジャンクションしますので上記パスに「¥Sample」を追加します。(Onedriveフォルダ内に同一名のフォルダを予め作成する必要はないです。)

※¥は半角に直してください。

f:id:ganapati55:20170925174711p:plain

② コマンドプロンプトを立ち上げる

ジャンクションの設定はコマンドプロンプトから行います。

「Windows」キーを押して「cmd」と入力して表示されれば「エンター」で立ちあがります。

f:id:ganapati55:20170925174731p:plain

③ 次のように入力する

設定には次のように入力します。上記の事例で行くと、、、

「mklink /J “C:¥User¥ユーザー¥OneDriv¥テストフォルダ¥Sample” “D:¥Sample"」

となります。

入力が終わったらエンターで実行します。上手くいけば下記のような表示になるはず。

f:id:ganapati55:20170925174745p:plain

④ OneDrive内に表示されたか確認する

以下のようにジャンクションされたフォルダが表示されます。ショートカットのような表示ですね。

f:id:ganapati55:20170925174755p:plain

※試しにSDカードのSampleフォルダ内にデータを入れてみました。

f:id:ganapati55:20170925174828p:plain

Onedriveからジャンクションフォルダを開いてみても、当該データが存在するのがわかります。

f:id:ganapati55:20170925174837p:plain

また、ブラウザでOneDriveにアクセスしてみました。実際に同期されているのがわかります。

f:id:ganapati55:20170925174847p:plain

⑤ NASなどネットワークHDD上のフォルダをジャンクションする場合

企業ではしばしばNASを共有ストレージとして使用し、重要なデータを保存していることがあります。

NAS上にあるフォルダをジャンクションする場合はちょっとだけ工夫が必要です。

まず最初にやることはNASのローカルIPアドレス(192.168.xxx.xxx)を調べるます。

そのうえで前述の例で言えば「D:」を「¥¥192.168.xxx.xxx」に置き換えます。

後は同じです。

なお、SynologyのNASであれば専用のアプリを使ってNAS内の任意のフォルダを選択してOneDriveと同期させることができます。便利ですねぇ・・・。

諸注意事項

  • ディレクトリジャンクションで同期させた場合、Onedriveフォルダ内の当該フォルダを削除してもジャンクション元(上記事例でいうDドライブのフォルダ)となったフォルダは消えません。
  • 一方OneDrive内のファイルやフォルダを削除すると、ジャンクション元のフォルダ内の当該ファイルも削除されます。
  • ジャンクション元のフォルダの名前を変更するとジャンクション機能が働かなくなります。ジャンクション先でフォルダ名を変更した場合はジャンクション機能は有効のままです。