2010-11-01 21:50:02 +0000 2010-11-01 21:50:02 +0000
72
72

コマンドラインコマンドでディレクトリ全体(ディレクトリフォルダを含む)を別のディレクトリにコピーする

コマンドラインを使って、あるディレクトリを別のディレクトリにコピーしたいと思います。例えば、C:/testC:/test2というディレクトリがあります。

結果がC:/test

になるようにC:/test2C:/test2/testにコピーしたいのですが、これまでに見つけたものは全てC:/testに含まれているファイルやフォルダをC:/test2にコピーするだけで、親ディレクトリは残してしまいます。

回答 (10)

52
52
52
2010-11-01 21:52:22 +0000

XCOPYスイッチで/Eを使ってみてください。詳細は こちら .

この情報に脳内からアクセスするのはyears以来です!

UPDATE

ドキュメントによると、ソースディレクトリからすべてのファイルとサブディレクトリをコピーする(親ディレクトリが作成されないことを意味する)ので、最初にtestC:\test2を作成してからXCOPYを使用する必要があるでしょう。

21
21
21
2015-11-22 21:23:05 +0000

バックアップスクリプトを作成する場合は ROBOCOPY を使用してください。 xcopy は非推奨とされており、近い将来使用されなくなるでしょう。robocopy は xcopy ができることをすべて行うことができます。robocopy でスクリプトを作成することは、それらの将来を保証します。robocopy を使って簡単にフォルダをコピーします。robocopy コマンドは xcopy コマンドの代わりになります。内容を定義することを気にすることなく、フォルダ全体を素早くコピーできます。例えば、C:\tools ディレクトリのすべての内容を新しいフォルダ D:\backup\tools にコピーするには、次のように入力します:

  1. ディレクトリをミラーリングする。ディレクトリをミラーリングすると、バックアップを取るのに便利です。robocopy の mirror オプションは、コピー元からコピー先に全ての内容をコピーします。コピー元に存在しないコピー先の内容は削除されます。これにより、バックアップには最新バージョンのファイルのみが含まれていることが保証されます。例えば、C:Users\My DocumentsをD:\backup\My Documentsにミラーリングするには、次のように入力します:[4]

  2. 再起動を有効にします。接続が切断された場合に備えて、再起動できるようにしておくとよいでしょう。robocopy ではログファイルを作成することができます。これは問題をピンポイントで指摘したり、コピーされたもののアーカイブを生成するのに役立ちます。

8
8
8
2010-11-02 03:09:24 +0000

私は xcopy よりも robocopy をお勧めします。

5
5
5
2012-06-22 06:40:49 +0000
XCOPY SourceDrive: DestinationDrive: /S /E

例えば、コマンドラインやxbootコマンド環境からE:ドライブ(外付けハードドライブ)にH:ドライブのデータをコピーする必要がある場合。

3
3
3
2016-04-29 18:29:05 +0000

もし元の質問が私が答えを探していたものであるならば、私は、そして明らかに上の誰も、明確な解決策を思いついていません。

xcopy /isvy c:\test d:\test2

のようなもので、d:\test2\testはコピー前には存在しないが、コピー後には存在します。これは、宛先パスの2回目のテストをミスタイピングすることで保存されます。上記のコマンドはすべてのファイルとディレクトリをtest2にコピーしますが、テストディレクトリは作成されません。

これまでのところ、

xcopy /isvy c:\test d:\test2\test

は本当に私がこの仕事を得るために見つけた唯一の方法です。また、入力の問題がある場合は、ソースとデスティネーションのディレクトリが一致する保証はありません。変数のタイプを間違えるとエラーになるか、宛先ディレクトリの最初と最後に mydir があることになります。これは目立ちます。

1
1
1
2016-08-18 22:26:31 +0000
xcopy SWITCHES SOURCE DESTINATION

SWITCHES はどこである場合もある:

-全体のディレクトリ構造をコピーするため:

-目的地のファイルを上書きするため(目的地フォルダが既に存在する場合)に:

-上書きし、また ACL+属性とコピーするため:

あなたの場合に最も適しています:

xcopy /hievry C:\test C:\test2\test

0
0
0
2017-07-24 12:06:12 +0000

私は、フォルダ名を含むいくつかのフォルダを宛先の場所にコピーする必要があり、この質問の回答にマークされた助けになることを願っていましたが、それは本当にありません。

まず、最初に、1つは間違いなくこの能力を必要とする場面があり、私は私がC:Windowsからフォルダをコピーしなければならなかったときに1つに走った。Windows Explorerはこのフォルダを表示することを拒否するので、コマンドプロンプトを使用する必要があります。

GACフォルダに精通している場合は、フォルダ名が非トリビアルであることを知っているだろうし、あなたがミスタイプする場合は、簡単に間違えることができます。

だから、事前にディレクトリを作成する実際のオプションではありません-スクリプトを使用しない限り-これは唯一の本当の解決策だったので、私は使用して終了しました。

最初に一時ファイルにコピーしたいフォルダをダンプし、これは通常、いくつかのパターンに基づいています。Xcopy はバックスラッシュ () の目的地の引数を終わればホールダーの作成の世話をします

dir /B policy* > Folders.txt

バッチ ファイルのこれらの両方のコマンドを入れて実行して下さい。

0
0
0
2018-12-07 17:07:00 +0000

第一に、FORFILES/S パラメータで使用すると、C:\test のすべてのサブディレクトリに到達することが保証されます。

最初の条件構造 /C (大文字を使用することを確認してください) は、ソースからのみディレクトリを取得し、最後に @isdir==TRUE を使用して目的地でそれらを作成することができます。

最後に、2つ目の条件構造は、ファイルのみをMKDIR [path]\@relpathで処理していることを確認し、COPYコマンドは、単に仕事を取得し、FORFILESコマンドで到達したすべてのファイルを取得し、目的地として@isdir==FALSEを設定し、作成されたディレクトリの中にファイルをコピーします。

forfiles /s /c " cmd /c ( if @isdir==TRUE mkdir C:\test\@relpath ) && ( if @isdir==FALSE copy @file C:\test2\@relpath)"

このあたりのみんなを助けてくれることを願っています。

0
0
0
2018-05-15 05:24:03 +0000

XCOPY SourceDrive. 宛先ドライブ。/S /E

-2
-2
-2
2010-11-02 05:24:21 +0000

これはGUIからそれを行いますが、彼らがそれをどのように行うかは知りません。

“…小さなプログラムは、"from directory "と "into directory "を選択できるようにし、それはディレクトリ構造のみをコピーするために進みます。