• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:xcpoyコマンドでコピーエラーしたファイルの表示と保存をしたい)

xcpoyコマンドでコピーエラーしたファイルの表示と保存

このQ&Aのポイント
  • コマンドプロンプトでファイルごとのコピー結果を表示しつつ、ログを残すことは可能でしょうか。
  • /Cを入れているので、コピーエラーしてもコマンドプロンプト上にはエラーを起こしたファイル名が表示されませんが、ファイル名を表示・保存させることはできるのでしょうか。
  • xcopyコマンドでデータエラー(巡回冗長検査(CRC)エラー)が発生した場合、エラーメッセージは表示・保存されないのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • lanbavon
  • ベストアンサー率72% (61/84)
回答No.1

ご苦労お察しします。orz コマンドプロンプトでは、コマンドの正常な結果を伝達するための「標準出力」と、エラーの結果を伝達するための「標準エラー出力」というのがあります。 これをふまえて3)から回答ですが、 そのコマンド書式では、標準出力も、標準エラー出力も、画面に出力されてしまうのです。 また、単に > だけでは、標準出力だけしか渡りません。 エラー結果も含めてテキストファイルに残したい場合は、 xcopy /s /e /c /h g:\*.* c:\rescue 2>&1 log.txt とする必要があります。 某サイトと思われるところ(休刊した某運用技術雑誌の編集部がごっそり移籍して運営しているので、当方は信頼しています)を見に行きましたが、CRCエラーうんぬんは、あくまでそこでの例であって、質問者さんの環境では起きなくても不思議ではありません。 また、以前読めなかったものがそのときだけ偶然読めて、またすぐ読めなくなった、というのは、ごく稀に起こりうることです。 1)ですが、当方の知る限り、コマンドプロンプトではできません。 最近XP以降に追加できるようになったPowerShellには便利なコマンド tee があって、 xcopy /s /e /c /h g:\*.* c:\rescue 2>&1 | tee log.txt とすれば実現できます。 2)ですが、3)の例のように、エラーを起こしたものの後にどんなエラーかが記録される、ということでは駄目でしょうか? これらのことより、現状では、ご質問内容のコマンドで > を 2>&1 で置き換えて、ログだけを残すことができる、という結論になります。 #別カテゴリに同じ趣旨の質問をされているのを、答えようと思って忘れてました。すいません。

cd750closed
質問者

お礼

ご回答ありがとうございます。 ご教示いただいたお答えで十二分に対応できました。 ありがとうございます。 今回の件に限らずファイル救出などは頻繁に行う予定ですので、役立たせていただきます。 いやしかし、ダウンロードは昨年まで遡るのですが、社内PCはネット接続ログや外部メディアへのコピーログが取られていて、いたんそれが本部の解析サーバへ送られ、仕組みはわかりませんがいかがわし動きを検出して、当該PCがある各部署の部長へ送られるというシステムが入っていたなんて初めて知りました。 ほかならぬ部長がいかがわしかったレポートを封殺していたのにも驚きです。

関連するQ&A