• 締切済み

コマンドプロンプトのxcopyコマンドについて

xcopyコマンドを使用して、コピー元ディレクトリからコピー先ディレクトリにファイルやサブディレクトリをコピーさせようとしています。 コピー先ディレクトリに既に存在しているものはファイルもサブディレクトリもコピー(上書き)してしまってOKです。 問題なのはコピー先ディレクトリ直下に存在しないファイルはコピーしたいのですが、存在しない「ディレクトリ」はコピーさせたくありません。 Uオプションですとファイルもディレクトリも両方とも、コピー先に存在しないとコピーできないので使えません。 どのようにしたらいいのでしょうか。

みんなの回答

  • nekonynan
  • ベストアンサー率31% (1565/4897)
回答No.2

/T ファイルはコピーせず,ディレクトリのみを作成する(ディレクトリまたはサブディレクトリが空の場合を除く) /U 受け側に存在するファイルだけをコピーする xcopy 送り側 受け側 /T/U これを xcopy 送り側 受け側 /U/T にするとできないので×

ryota1225
質問者

補足

ご回答ありがとうございました。 さっそくやってみました!! しかし、コピー先に存在しないという条件で、ファイルもディレクトリもコピーできず、Uオプションのみと同じ結果になってしまいました。

回答No.1

COPYコマンドを使って「ディレクトリ直下にあるファイルだけ」をコピーした後で、XCOPY /Uコマンドで「存在しないディレクトリはコピーしないでコピー」すれば良いのでは? 「1つのコマンドで済まそうとする」から「相反する処理で困る」のです。「相反する処理」と判っているのなら「コマンドを2つに分ける」しかありません。

ryota1225
質問者

補足

素早いご回答ありがとうございます!! 説明不足で申し訳ありません。 バッチでfor文を使ってコピーさせようと考えているのですが、 この場合、copy文を使う場合とxcopy文を使う場合で、どのように条件分岐させればよろしいでしょうか。

関連するQ&A

専門家に質問してみよう