【バッチファイル】フォルダをコピーするには

この記事では、バッチファイルを使ってフォルダをコピーする方法についてご説明します。

【動画】バッチファイルを使ってフォルダをコピーする実際の動き

本題に入る前に、まずは次の動画をご覧ください。


注意

今回紹介するバッチファイルはフォルダをコピーするので、大事なファイルを上書きしてしまったり、フォルダが生成されるなど、パソコン内のディレクトリ環境を変えてしまう場合があります。

バッチファイルを実行する前は、必ずコピー先の指定に十分お気を付けください。

その点を留意して自己責任でお使いいただければ幸いです。

フォルダの例

「C:\work\10_勉強\17_バッチファイル\0004\from」配下のフォルダに、「file」というフォルダが存在しています。

今回はこの「file」のフォルダを、「C:\work\10_勉強\17_バッチファイル\0004\to」配下にコピーします。

なお、「file」というフォルダには下の画像のとおりにファイルとフォルダが格納されています。

今回紹介するバッチファイルを実行すると、バッチファイルのコピー処理が実行されて「C:\work\10_勉強\17_バッチファイル\0004\to」配下に「file」のフォルダがコピーされます。

「file」配下を見てみると、すべてがコピーされています。

コードの例

@echo off

rem コピー元のフォルダ
set copyFr=C:\work\10_勉強\17_バッチファイル\0004\from\file

rem コピー先のフォルダ
set copyTo=C:\work\10_勉強\17_バッチファイル\0004\to\file

rem フォルダをコピーする
xcopy /E /I %copyFr% %copyTo%

注目すべきコード①

最初に見て頂きたいのは4行目から7行目です。

rem コピー元のフォルダ
set copyFr=C:\work\10_勉強\17_バッチファイル\0004\from\file

rem コピー先のフォルダ
set copyTo=C:\work\10_勉強\17_バッチファイル\0004\to\file

コードの説明

以上のコードは、コピー処理を行うための、コピー元とコピー先のフォルダパスを取得するコードです。

分かりにくいのですが、今回のバッチファイルは、コピーしたいフォルダは「file」です。

コピー元だけでなく、コピー先にもパスに「file」を記述する必要があります。

  1. コピー元のパス指定:C:¥work¥10_勉強¥17_バッチファイル¥0004¥from¥file
  2. コピー先のパス指定:C:\work\10_勉強\17_バッチファイル\0004\to\file

もしコピー先のパスにfileを付けなかった場合(C:\work\10_勉強\17_バッチファイル\0004\to)は、下のように「file」のフォルダ配下のファイルやフォルダがコピーされます。

注目すべきコード②

次に見て頂きたいのは10行目です。

rem フォルダをコピーする
xcopy /E /I %copyFr% %copyTo%

コードの説明

以上のコードは、xcopyコマンドを実行してフォルダをコピーするコードです。

注目すべきコード①」で説明したコピー元のフォルダ(copyFr)をxcopyコマンドの第1引数に、コピー先のフォルダ(copyTo)を第2引数に指定して実行するとフォルダがコピーされます。

【オプション①】/E

「/E」のオプションは、ディレクトリまたはサブディレクトリが空であってもコピーする、というオプションです。

【オプション②】/I

「/I」のオプションを付けると、xcopyコマンド実行時にコピー先のフルパス(C:\work\10_勉強\17_バッチファイル\0004\to\file)をフォルダとして判断し コピーを行います。

xcopyコマンドがフォルダだと判断するため、xcopy実行時に、「C:\work\10_勉強\17_バッチファイル\0004\to\file」がファイル名を指定しているのか、それともディレクトリ名を指定しているのかを確認する以下の画像のメッセージは表示されなくなります。

動作確認

フォルダの例」をご覧ください。

最後に

この記事では、バッチファイルを使ってフォルダをコピーする方法についてご説明しました。

バッチを実行するだけで、あらかじめ指定しておいたフォルダがコピーされるので便利です。

定期的に何かフォルダをバックアップしておきたい時に使うと良いですね。

バッチファイルを使ってフォルダをコピーしたい場合は本記事を参考にして頂けたら幸いです。

プログラミングのスキルを習得するなら

プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。

プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。

→ TechAcademyの「1週間 無料体験」はこちら