先日紹介したSyncToy 2.1。二つのフォルダを同期するのにとっても便利で、xcopyやrobocopyに比べて使いやすいので使い始めて数日ですがとても気に入っています。
折角なので設定方法のスクリーンショットや、定期的に動作させるためのタスク・スケジューラーの設定画面のスクリーンショットを紹介してみます。
[SyncToy 2.1]
インストールした直後はこの様な画面で起動します。
一つも同期させるフォルダのペアが存在していないので、まず作成します。その設定は以下の様なウィザード方式で行えます。まず同期させるフォルダを選択、そして同期の方法を選択します。最後にこの同期に対する名前を付けて完了。
同期方法の Synchronize は双方のフォルダが最新になる様に同期、Echoは左のフォルダで発生した変更を右側に適用、Contribute は左のフォルダでのアイテムの新規作成と名前の変更は右側に適用されるが、削除は適用されない、といった方法になります。
こうして新しい同期設定を行うとSyncToyのメイン画面が変化し、同期処理を行う事が出来る様になります。複数の設定がされていれば左側にそのリストが表示されるので実行する同期を選択、後は右下の「Run」ボタンを押せば同期が実行されます。
[SyncToyコマンド]
SyncToyがインストールされたフォルダ (c:\Program Files\SyncToy 2.1には「synctoycmd.exe」というプログラムがインストールされます。これはコマンドプロンプトで予め設定されている同期を実行する為のもので、 -? (もしくは/?) 引数を与えて実行すると使い方が表示されます。
特定の同期設定を実行する場合は「/R “同期設定名”」、全ての同期設定を実行する場合は 「/R」である事が分かります。試しに実行してみるとその同設定の概要と実行結果が返ってきます。
[Task Schedulerを使ったSyncToyの自動実行]
ということで、同期の設定が終わりsynctoycmd.exeの使い方が分かったので、Windows標準のタスク・スケジューラでSyncToyを自動的に実行し、フォルダの同期が定期的に自動的に行われる様にしてみます。
タスク・スケジューラを開き、新しいタスクの追加を行います。タスク名は適当に分かりやすく、実行するユーザーを指定する必要があればこの画面で設定です。サーバー等で動作させる場合はユーザーがログインしていなくても動作させる場合にはしかるべき設定をします。この画面の設定ではユーザーがログインしていない時にもタスクを実行させる様にしています。
トリガーのタブではどういうタイミングでSyncToyを実行するかを設定します。常時というのは不可能なので、1日毎に実行し、且つ実行開始から15分間隔で動作させる設定にしてみます。SettingsでDailyを選択し1日毎に設定。そしてAdvanced settingsのRepeat task everyの項目にチェックを入れて実行する間隔とその期間を1日にしておきます。こうする事で、毎日指定した時間に実行を開始してそれから15分間隔で連続して実行される様になります。
アクションのタブでは実行するコマンドを設定します。前述のコマンドプロンプトでSyncToyを実行するsynctoycmd.exeに対して「-R “TEST1″」という引数を与えて実行する場合の画面が次の例です。複数の同期設定があり、全てを実行する場合は引数を「-R」にすればOK。
後は残りのタブに対して適宜設定してOKをクリックして終了します。これで指定した時間がくれば、指定した間隔でフォルダの同期が始まります。
トリガーの設定方法によってはユーザーがログオンした間隔で動作させたりする事も可能ですし、ラップトップがバッテリーで動作している場合は実行しない等の設定も可能です。
かなりざっくりした説明ですが、フォルダ同期の方法を探している方の参考になれば幸いです。
参考リンク: