関連: スケジュールされたRobocopyタスクは0x10エラーで失敗します
サーバーバックアップスクリプトの一部としてrobocopyを使用しています。このワークステーションにファイルをフェッチし(Windows 7からVistaにアップグレードしたため、以前に問題が発生しました)、LAN内のサーバー(Windows Server 2000)にコピーします。
robocopy H:\folder \\SERVER\drive\folder /MIR /LOG:H:\backup.log /TBD /TEE
このタスクがスケジュールされたタスクで実行されている場合、通常、起動後、コンピューターからネットワークフォルダーにまだアクセスされていません。そのため、通常は失敗します。
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Fri Jul 12 16:16:03 2013
2013/07/12 16:16:03 ERROR 3 (0x00000003) Getting File System Type of Destination \\SERVER\drive\folder
The system cannot find the path specified.
Source : H:\folder
Dest - \\SERVER\drive\folder
Files : *.*
Options : *.* /TBD /TEE /S /E /COPY:DAT /PURGE /MIR /R:1000000 /W:30
------------------------------------------------------------------------------
2013/07/12 16:16:03 ERROR 3 (0x00000003) Creating Destination Directory \\SERVER\drive\folder
The system cannot find the path specified.
ご覧のとおり、/ TBDスイッチを使用して、ネットワーク共有名が定義されるのを待ちました。それは助けにはならなかった。ただし、スケジュールされたタスクを手動で強制的に実行すると、後ですべてのファイルが正常に更新されます。その間、サーバーのバックアップフォルダーにはアクセスしませんでしたが、サーバー上の別の共有にアクセスしました。
私は何をすべきか?バッチスクリプトに再試行を追加しますか?または、別のプログラムを使用して、続行する前にネットワークパスが利用可能であることを確認しますか?
権限を確認してください。
「手動」実行、おそらくadminとして実行、またはその逆。
私の知る限り、この場合の問題は、Roboコピーが完了したときにスケジュールされたタスクに送信する終了コードの解釈です。スケジュールされたタスクは0以外は好きではありませんが、RoboCopyには0〜16の範囲の終了コードがあります。2度目に機能するのは、RoboCopyがコード0(ファイルに変更が見つからない)を返し、スケジュールされたタスクがそれを「解釈」するためです。正しい実行(コード0)。これを別のマイクロソフトのバグとして分類します。