この記事では、バッチファイルを使ってフォルダをコピーする方法についてご説明します。
【動画】バッチファイルを使ってフォルダをコピーする実際の動き
本題に入る前に、まずは次の動画をご覧ください。
注意
今回紹介するバッチファイルはフォルダをコピーするので、大事なファイルを上書きしてしまったり、フォルダが生成されるなど、パソコン内のディレクトリ環境を変えてしまう場合があります。
バッチファイルを実行する前は、必ずコピー先の指定に十分お気を付けください。
その点を留意して自己責任でお使いいただければ幸いです。
フォルダの例
「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」を記述する必要があります。
- コピー元のパス指定:C:¥work¥10_勉強¥17_バッチファイル¥0004¥from¥file
- コピー先のパス指定: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週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。