● バッチファイルで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
のような形です。