● バッチファイルでXcopyコマンドを使うときに、「ファイル名ですか、またはディレクトリ名ですか」と聞かれたときに「ディレクトリ名」で自動処理する方法

xcopyで「ファイル名ですか、またはディレクトリ名ですか」と聞かれたときに、ディレクトリを選びたいときは「d」を押すと、ディレクトリとして処理されて進みますが、これをバッチファイルで自動的にやりたい場合を考えます。

方法は2つあって、
・「echo D | 」を先頭で書くか、
・コピー先のパスを半角の「¥」マークで終わる
というかたちです。

例えば C:\1 のすべてのデータを、Dドライブのルートにフォルダ丸ごとコピーしたいときは、次のようなバッチファイルを書きます。

echo D | xcopy "C:\1\*.*" "D:\1" /d /y /c /s /e /h /r

もしくは

xcopy "C:\1\*.*" "D:\1\" /d /y /c /s /e /h /r

です。

なお、ディレクトリとしてではなく、ファイルとしてコピーしたい場合は「echo F | 」を使います。

echo F | xcopy コピー元 コピー先 /d /y /c /s /e /h /r

のような形です。