• ベストアンサー

copyコマンドについて教えてください

winxp pro sp2 下記bat fileを作成しました。fileが多いためです。 Q: 1.echo offが効きません。 2.新しいfileのみ上書きcopyしたい。 copy.bat: @echo off copy /v "c:\Program Files\aa\*.*" "d:\stock\bb\*.*" よろしくお願いします。

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

  • ベストアンサー
  • salf
  • ベストアンサー率42% (27/64)
回答No.4

あ、オプションつける場所が違います。すいません。。。。 以下が本当 XCOPY 送り側 受け側 /D /Q /Y

esd827
質問者

お礼

回答ありがとう御座いました。 xcopy command 簡単でいいですね。解決しました。 xcopy /q /d "c:\Program Files\aa\*.*" "d:\stock\bb\*.*"

その他の回答 (3)

  • salf
  • ベストアンサー率42% (27/64)
回答No.3

copy コマンドを使用するよりも xcopy コマンドを使用したほうがいいでしょうね。 xcopy コマンドの詳細は xcopy /? で確認してください。 それで、やろうとしていることから考えると、 XCOPY /D /Q /Y 送り側 受け側 みたいな感じでしょう。 以下が使用しているオプションの詳細です。 足りなければ追加してください。 /D:月-日-年 指定された日付以降に変更されたファイルをコピーします。 日付が指定されなかったときは、送り側の日付が受け側の日付より 新しいファイルだけをコピーします。 /Q コピー中ファイル名を表示しません。 /Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示 しません。

noname#210617
noname#210617
回答No.2

1. echo off は機能しています。コマンドエコーが止められますので、このバッチの場合、画面にcopyコマンドの行を画面にエコーバックせず、コマンドの実行結果のみが表示されます。 2. /v はコピー先に書き込まれたファイルが正しく書き込まれたかどうかをチェックするために、コピー元のファイルと比較(Verify)させるためのスイッチです。 既にコピーされているファイルを上書きするかどうかの判断をするには /-y スイッチを使用します。 copy /-y c:\Program Files\aa\*.* d:\stock\bb\*.* d:\stock\bb\a.dat を上書きしますか? (Yes/No/All): というメッセージが表示されますから、Nを入力すればよいわけです。 で、ファイルがたくさんあるのでいちいちNを入力してなんかいられませんね。では、ヌルデバイスからの入力をリダイレクトしましょう copy /-y c:\Program Files\aa\*.* d:\stock\bb\*.* < nul 画面に出力されるメッセージが邪魔なら、これも出力先をヌルデバイスにリダイレクトしましょう。 copy /-y c:\Program Files\aa\*.* d:\stock\bb\*.* < nul > nul バッチファイルの中身はこれ1行でOKです。 バッチファイルの名称をcopy.batなど、既存のコマンドと同じものにするのは間違いを犯すもとになりますから、明確に異なるものにしましょう。

esd827
質問者

お礼

回答ありがとう御座いました。 xcopy command 簡単でいいですね。解決しました。 xcopy /q /d "c:\Program Files\aa\*.*" "d:\stock\bb\*.*"

  • JP002086
  • ベストアンサー率34% (1535/4403)
回答No.1

ファイルが多い場合でしたら、コマンドで行うよりツールで行った方が 確実です。 私が使用しているのは「Realsync」と言うフリーのツールを使用しています。 http://www.takenet.or.jp/~ryuuji/realsync/ それ以外にも、ベクターに行くとたくさんのツールが有りますので、ご自分で使いやすいツールをダウンロードして使用してみてください。 http://www.vector.co.jp/vpack/filearea/win95/util/backup/index.html ではでは