プロが教える店舗&オフィスのセキュリティ対策術

バッチファイルでXCOPYを実行し既存ファイルを上書きしないようにしたい(上書き確認を自動でNo返答する)さらに、存在しないファイルはコピーしたい
●構成
・C:\test\A\A.txt がある
・バッチファイルと同列に、A\A.txt 及び B.txt が存在
 さらにバッチファイルと同列に、からフォルダB が存在
●試したコマンド:
XCOPY * C:\test /E /-Y /Q < nul > nul
●結果:C:\test\A\A.txt は上書きされないが、B.txt 及びフォルダBがコピーされない
●求める結果:
C:\test\A\A.txt は上書きされず、コピー先に存在しないB.txt 及びフォルダBがコピーしたい

宜しくお願いいたします。

A 回答 (2件)

直接の回答とは少し異なりますが。


もしも、「存在するファイルは上書きしない」というのが、
「変更されていなければ上書きしない」
というレベルで良いのなら、

XCOPY /s/m * C:test

で可能です。

/m オプションは、アーカイブ属性のファイルのみ
コピーして、その時に、アーカイブ属性をクリアします。
アーカイブ属性自体は、ファイルが更新されたときにセット
されるので、結果的に、更新されたファイルだけコピー
することが出来ます。
    • good
    • 5
この回答へのお礼

ありがとうございます。

お礼日時:2010/04/26 23:54

上書き確認に対して、NULをリダイレクトしているので、YもNもAも入力されず、そこでコマンドが終わってしまいます。



簡単にやるには、N がたくさん並んだファイルを作りそれをリダイレクトで与えればいいでしょう。ファイルの個数が10000以下だとして、

(for /l %%A in (1,1,1000) do @echo NNNNNNNNNN)>%TEMP%\NNNNN
xcopy * C:\test /e /-y /q < %TEMP%\NNNNN
    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2009/08/31 00:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A