Windows タスク スケジューラを介してフォルダ内のコンテンツを別のディレクトリにコピーする xcpoy コマンドがあります。しかし、最近、いくつかのイベントがないことに気が付きました。xcopy は実際にはファイルをコピー/転送していません。タスク スケジューラの履歴から、タスクはエラーなしで開始および完了したため、バッチ ファイルを xcopy xxxxx >> c:\log.txt /Y に修正しました。
今では、コピーされたファイルがあったかどうかがわかるログ ファイルがありますが、そもそもコピーされなかった理由はまだわかりません。タスク スケジューラ > 履歴から、アクションがコード 0 で完了したことが分かります。これは、エラー コード 0 = ファイルがエラーなしでコピーされたことを意味していると思います。しかし、実際には、コピーされたファイルはまったくありませんでした。
ディスク容量の少ない別のドライブに xcopy を実行しようとしてテストしました (使用可能な空き容量よりも大きいファイルを転送すると失敗するはずです)。それでも、タスク スケジューラ > 履歴に同じエラー コード = 0 が表示されます。バッチ ファイルを手動で実行すると、コマンド プロンプトから「ディスク容量が不足しています」というエラーが表示されます。
質問: 1) バッチ ファイルが実行中またはトリガーされているときに、xcopy を使用してコマンド プロンプトの内容をログ ファイルにエクスポートすることは可能ですか?
2) タスク スケジューラ > 履歴に表示されるエラー コードが正しいコードであることを明確に確認するにはどうすればよいでしょうか。
0 ファイルはエラーなしでコピーされました。 1 コピーするファイルが見つかりませんでした。 2 ユーザーが CTRL+C を押して xcopy を終了しました。 4 初期化エラーが発生しました。メモリまたはディスク領域が不足しているか、コマンド ラインに無効なドライブ名または無効な構文を入力しました。 5 ディスク書き込みエラーが発生しました。
robocopy にはログ ファイルに関するより詳細な情報が含まれていると思うので、robocopy の代わりに xcopy のコードを保持することは可能ですが、残念ながらクライアントがそれを拒否しています。
ありがとう