今まで解説してきたのは全てファイルだけのコピーです。
コピーしたいフォルダーにサブフォルダーが入っていても、ファイルだけしかコピーできません。 ここではサブフォルダーも含めて、ファイルをコピーする方法を解説します。 バッチファイルを使って、サブフォルダーごとファイルをコピーする方法サブフォルダーごとファイルをコピーするには『xcopy』を使います。 バッチファイルを使って、サブフォルダーごとファイルをコピーする
REM サブフォルダーを含めてファイルをコピーする
『xcopy』コマンドは少し書き方が変わります。
pause pause cd c:\aaa xcopy c:\aaa c:\bbb\ /e /y pause
注意が必要なのは『xcopy c:\aaa』と書いていますが、aaaフォルダーそのものをコピーするのではないということです。 この指示ではaaaフォルダーに入っているファイルとサブフォルダーがコピーの対象です。 xcopyの条件を替えてやるとホームページ作成に役たつものができます。 サブフォルダーのフォルダーの構造をコピーする
『/t』を付けると、フォルダーの構造だけがコピーされます。
中味のない、構造を再現した空フォルダーのコピーが簡単に短時間で作れます。
REM サブフォルダーを含めてファイルをコピーする
『/t』はフォルダーの構成だけをコピーし中味はコピーしないことを表しています。
pause pause cd c:\aaa xcopy c:\aaa c:\bbb\ /e /y /t pause こんな物なんになるのかと思うかもわかりませんが、例えばaaaフォルダーに100個のサブフォルダーがあり、各々に更に50個のサブフォルダーがあり、 その中にhtmファイルとかjpgファイルが入っていたとします。 これらのファイルを全て削除するのは大変な作業になります。 でもこのコマンドが使えれば大丈夫。一発で構造を再現した空のフォルダーがbbbフォルダーにできていますから、 aaaの中のサブフォルダーを全て削除し、bbbに出来た空フォルダーを移動すればいいのです。 コピーするファイルの日付を指定することもできます。 指定した日付以降に変更したファイルだけをコピーする
『/d:08-20-2011』のように指定すると、2011年の8月20日以降に変更したファイルだけがコピーされます。
REM 2011年8月20日以降のファイルのみコピー
『/d:08-20-2011』の書き方はWindowsのバージョンにより異なります。
pause pause cd c:\aaa xcopy c:\aaa c:\bbb\ /e /y /d:08-20-2011 pause XPでは『/d:月-日-年』ですが、バージョンにより『/d:年-月-日』だったり、『/d:日-月-年』だったりしますので、 うまく行かなかったら変更してください。
/d だけで後ろに日付を入れなければ、新しいファイルだけがコピーされます。
| ||||||||||||||