SyncToy

導入

Download SyncToy 2.1 from Official Microsoft Download Center

インストール

インストールには.NET 2.0が必要です。これがインストールされていないとそれを促すメッセージが表示され、SyncToyをインストールできません。

  • Microsoft Sync Framework 2.0 Core Components (x64) ENU
  • Microsoft Sync Framework 2.0 Provider Services (x64) ENU

使用方法

フォルダ ペアの選択

まず[Create New Folder Pair]で、同期の対象となる2つのフォルダを指定します。同期方法を[Synchronize]としない場合は左側のフォルダが基準となるため、同期方法によっては左右の指定に注意します。

対象とされたフォルダにはそれぞれ、SyncToy_***.datの名前のファイルが作成されます。フォルダ ペアを削除すると、これらのファイルも削除されます。Synctoy .dat files

フォルダ ペアの変更

フォルダ ペアで選択したフォルダは変更できないため、その必要があるときにはフォルダ ペアを削除した上で再度ペアを作成します。

同期方法の設定

方法 方向 動作
Synchronize 双方向 リネームと削除を、双方のフォルダで行う
Echo 左から右 リネームと削除を、左から右のフォルダに対して行う
Contribute リネームを、左から右のフォルダに対して行う。削除はしない

オプション

フォルダ ペアの表示下部にある[Change options]から、同期の方法を設定できます。

  • Inclusion/Exclusion (包含/除外)
    • Files to include … 包含するファイル拡張子のリスト。ワイルドカードを使用し、セミコロンで区切る。(List file extensions (e.g., "*.jpg;*.bmp") to include. Use wildcards, and separate entries with semicolons.)
    • Files to excludes
    • Exclude read-only files
    • Exclude hidden files
    • Exclude system files
    • Select subfolder … 包含、除外するフォルダをフォルダツリーで指定する。(Specify what subfolders to include. The default is to include all subfolders, but you can use this option to unselect folders that you do not want to include. )
  • Active for run all … [All Folder Pairs]での同期に含める。(If this folder pair could be part of a frequent SyncToy set of actions, such as nightly backups, select this option.)
  • Save overwritten files in the Recycle Bin … 削除または上書きされるときに、ごみ箱へ送る。(Select this option to send files that are deleted or overwritten to the recycle bin.)
  • Check file contents … 2つのファイルが同一のときに、名前、サイズ、日付に加えて、ファイルの内容も調査する。(Specify to examine file contents in addition to name, size and date to determine if two files are identical.)

処理内容の確認

[Preview]ボタンをクリックすると、どのように同期が処理されるか事前に確認できます。不要な処理は、そこで個別に解除できます。内容を確認し問題がなければ[Run]を、さもなくば[Close]でメインウィンドウへ戻ります。

処理結果の確認

同期に失敗した場合には、結果ウィンドウの左上のリンクからその詳細を確認できます。またはメインウィンドウのメニューの【File → View log】からも、ログを確認できます。このログファイルの実体は、%LOCALAPPDATA%\Microsoft\SyncToy\2.0\SyncToyLog.logにあります。

ログの設定

ログに記録する内容は、インストールフォルダ (%PROGRAMFILES%\SyncToy 2.1) にあるSyncToy.configの

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <switches>
      <add name="SyncToyTraceLevel" value="Info" />
    </switches>
  </system.diagnostics>
</configuration>

"Info"を"Verbose"に変更することで、より詳細に取得できます。

トラブル対処法

処理の失敗

Exception during run: The FileSyncProvider received an unexpected error while applying a synchronized change. Deleting file

 

同期の失敗

原因を特定できなくてもログでエラーとなったファイルを確認できるため、問題のファイルをエクスプローラなどで手動でコピーすることで同期できます。そのときはログで対象のファイルを右クリックし、[Open Source File Location]と[Open Target File Location]でそれらのファイルの場所をエクスプローラで開けます。

別のプロセスが使用中

同期に失敗し、ログに「Error: Unknown error. プロセスはファイルにアクセスできません。別のプロセスが使用中です。 (HRESULT からの例外: 0x80070020)」と記録されることがあります。これはセキュリティソフトが原因となることがあるようです。HRESULT: 0x80070020 The process cannot be completed because the file is in use by another process

一方で「Error: Cannot read from the source file ***. プロセスはファイルにアクセスできません。別のプロセスが使用中です。 (HRESULT からの例外: 0x80070020) Copying ***」のように記録されるときは、原因は文字通りであり、エラーとなったファイルを閉じます。

アクセスできない

Error: Cannot read from the source file *** アクセスが拒否されました。 (HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))

ファイルのアクセス権の問題であり、その用途によって対策を講じます。

  • 別のユーザーのファイルならば、そのユーザーのアカウントで同期を実行する。
  • 同期が必要ないファイルならば、同期の対象から除外する。
  • 同期が必要なファイルならば、アクセス権を修正する。

同期中に修正された

Error: The source file has been modified during the synchronization process. Item changed unexpectedly during synchronization.

エラーとなったファイルを手動でコピーします。

ネットワーク パスが見つからない

Error: Cannot write to the destination file. ネットワーク パスが見つかりません。 (HRESULT からの例外: 0x80070035)

ネットワーク経由で接続しているならば、一方または双方の接続が切断されている可能性があります。またはファイアウォールが原因の場合があるため、一時的にそれを無効化してみます。

ネットワーク名を利用できない

Error: Unknown error. 指定されたネットワーク名は利用できません。 (HRESULT からの例外: 0x80070040)

予期しないネットワーク エラー

Error: Unknown error. 予期しないネットワーク エラーが発生しました。 (HRESULT からの例外: 0x8007003B)

複数のダウンロードサイトから、まとめて検索