ディレクトリ配下のファイルを全てコピーする・xcopyコマンド †コマンドプロンプト上でxcopyコマンドを使用することにより、指定したディレクトリ配下のファイルを全てコピーすることができます。 関連記事 †使用した環境 †コピー元フォルダ(ファイル)はsrcディレクトリ配下とします。 C:\Users\sakura>tree /f src フォルダー パスの一覧 ボリューム シリアル番号は 1234-5678 です C:\USERS\SAKURA\SRC │ README.txt │ ├─Android │ Icecream_Sandwich.txt │ Jelly_Bean.txt │ ├─BSD │ FreeBSD.txt │ NetBSD.txt │ OpenBSD.txt │ ├─iOS │ iOS5.txt │ iOS6.txt │ ├─Linux │ CentOS.txt │ Debian.txt │ Ubuntu.txt │ ├─MacOS │ │ MacOS8.txt │ │ MacOS9.txt │ │ │ └─OSX │ Lion.txt │ Mountain_Lion.txt │ ├─Other └─Windows Windows7.txt Windows8.txt WindowsVista.txt 指定したディレクトリ配下を指定したディレクトリにコピーする †以下のオプションを使用することにより、ディレクトリ配下のファイルを全てコピーすることができます。 xcopy /e コピー元ディレクトリ コピー先ディレクトリ コピー元ディレクトリ src をコピー先ディレクトリ dest1 にコピーしてみます。 C:\Users\sakura>xcopy /e src dest1 dest1 は受け側のファイル名ですか、 またはディレクトリ名ですか (F= ファイル、D= ディレクトリ)? d src\README.txt src\Android\Icecream_Sandwich.txt src\Android\Jelly_Bean.txt src\BSD\FreeBSD.txt src\BSD\NetBSD.txt src\BSD\OpenBSD.txt src\iOS\iOS5.txt src\iOS\iOS6.txt src\Linux\CentOS.txt src\Linux\Debian.txt src\Linux\Ubuntu.txt src\MacOS\MacOS8.txt src\MacOS\MacOS9.txt src\MacOS\OSX\Lion.txt src\MacOS\OSX\Mountain_Lion.txt src\Windows\Windows7.txt src\Windows\Windows8.txt src\Windows\WindowsVista.txt 18 個のファイルをコピーしました コピー先ディレクトリ dest1 が存在しないため、問い合わせされます。 treeコマンドでコピー状態を確認してみると、コピー元と同じ状態になっていることが確認できます。 C:\Users\sakura>tree /f dest1 フォルダー パスの一覧 ボリューム シリアル番号は 1234-5678 です C:\USERS\SAKURA\DEST1 │ README.txt │ ├─Android │ Icecream_Sandwich.txt │ Jelly_Bean.txt │ ├─BSD │ FreeBSD.txt │ NetBSD.txt │ OpenBSD.txt │ ├─iOS │ iOS5.txt │ iOS6.txt │ ├─Linux │ CentOS.txt │ Debian.txt │ Ubuntu.txt │ ├─MacOS │ │ MacOS8.txt │ │ MacOS9.txt │ │ │ └─OSX │ Lion.txt │ Mountain_Lion.txt │ ├─Other └─Windows Windows7.txt Windows8.txt WindowsVista.txt 空のディレクトリをのぞく †ディレクトリ内にまったくファイルが存在しない場合は、そのディレクトリを作成しないオプションがあります。 xcopy /s コピー元ディレクトリ コピー先ディレクトリ コピー元ディレクトリ src をコピー先ディレクトリ dest2 にコピーしてみます。 C:\Users\sakura>xcopy /s src dest2 dest2 は受け側のファイル名ですか、 またはディレクトリ名ですか (F= ファイル、D= ディレクトリ)? d src\README.txt src\Android\Icecream_Sandwich.txt src\Android\Jelly_Bean.txt src\BSD\FreeBSD.txt src\BSD\NetBSD.txt src\BSD\OpenBSD.txt src\iOS\iOS5.txt src\iOS\iOS6.txt src\Linux\CentOS.txt src\Linux\Debian.txt src\Linux\Ubuntu.txt src\MacOS\MacOS8.txt src\MacOS\MacOS9.txt src\MacOS\OSX\Lion.txt src\MacOS\OSX\Mountain_Lion.txt src\Windows\Windows7.txt src\Windows\Windows8.txt src\Windows\WindowsVista.txt 18 個のファイルをコピーしました treeコマンドでコピー状態を確認してみると、コピー元のOtherディレクトリを除いた状態になっていることが確認できます。 C:\Users\sakura>tree /f dest2 フォルダー パスの一覧 ボリューム シリアル番号は 1234-5678 です C:\USERS\SAKURA\DEST2 │ README.txt │ ├─Android │ Icecream_Sandwich.txt │ Jelly_Bean.txt │ ├─BSD │ FreeBSD.txt │ NetBSD.txt │ OpenBSD.txt │ ├─iOS │ iOS5.txt │ iOS6.txt │ ├─Linux │ CentOS.txt │ Debian.txt │ Ubuntu.txt │ ├─MacOS │ │ MacOS8.txt │ │ MacOS9.txt │ │ │ └─OSX │ Lion.txt │ Mountain_Lion.txt │ └─Windows Windows7.txt Windows8.txt WindowsVista.txt xcopyの各種オプション †以下、コマンドプロンプト上で/?オプションを使用し出力された結果です。 C:\Users\sakura>xcopy /? ファイルとディレクトリ ツリーをコピーします。 XCOPY コピー元 [コピー先] [/A | /M] [/D[:日付]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...] コピー元 コピーするファイル (複数可) を指定します。 コピー先 新しいファイルの場所や名前を指定します。 /A アーカイブ属性が設定されているファイルのみをコピーし、 属性は変更しません。 /M アーカイブ属性が設定されているファイルのみをコピーし、 アーカイブ属性を解除します。 /D:月-日-年 指定された日付以降に変更されたファイルをコピーします。 日付が指定されなかったときは、コピー元の日付がコピー先の日付より 新しいファイルだけをコピーします。 /EXCLUDE:ファイル1[+ファイル2][+ファイル3]... コピーの除外対象を特定するための文字列を記述したファイルを指定 します (複数指定可)。文字列は、1 行に 1 つずつ記述します。 その文字列が、コピー対象ファイルの絶対パスの一部と一致した場合、 そのファイルはコピーから除外されます。たとえば、"\obj\" という 文字列を指定するとディレクトリ obj の下の全ファイルが除外 され ます。".obj" という文字列を指定すると .obj という拡張子のファ イルがすべて除外されます。 /P コピー先のファイルを作成する前に確認のメッセージを表示します。 /S 空の場合を除いて、ディレクトリとサブディレクトリをコピーします。 /E ディレクトリまたはサブディレクトリが空であってもコピーします。 "/S /E" と同じ意味です。/T の内容を変更する際にも使用できます。 /V コピー先の各ファイルのサイズを検証します。 /W コピーを開始する際に、任意のキーを押すことを求めるメッセージを 表示します。 /C エラーが発生してもコピーを続けます。 /I 指定されたコピー先が存在せず、コピーするファイルが複数の場合、 コピー先をディレクトリとしてコピーします。 /Q コピー中にファイル名を表示しません。 /F コピー中にコピー元とコピー先の全ファイル名を表示します。 /L コピーされるファイル名を表示します。 /G 暗号化をサポートしないコピー先に、暗号化されたファイルをコピー することを許可します。 /H 隠しファイルやシステム ファイルもコピーします。 /R 読み取り専用ファイルを上書きします。 /T ファイルはコピーせずにディレクトリ構造のみを作成します。空の ディレクトリまたはサブディレクトリは除きます。"/T /E" と指定 すると空のディレクトリやサブディレクトリも作成されます。 /U コピー先に既に存在するファイルだけをコピーします。 /K 属性をコピーします。指定しない場合、読み取り専用属性はリセット されます。 /N 生成された短い名前を使用してコピーします。 /O ファイルの所有権と ACL 情報をコピーします。 /X ファイルの監査設定をコピーします (/O を含む)。 /Y 既存のファイルを上書きする前に確認のメッセージを表示しません。 /-Y 既存のファイルを上書きする前に確認のメッセージを表示します。 /Z 再起動可能モードでネットワーク ファイルをコピーします。 /B シンボリック リンクのリンク先ではなく、シンボリック リンク自体を コピーします。 /J バッファされていない I/O を使ってコピーします。サイズが大きい ファイルに適しています。 スイッチ /Y は環境変数 COPYCMD に前もって設定しておくことができます。 この設定は、コマンド ラインの /-Y で上書きすることができます。 |