【cmd】サブディレクトリにある全てのファイルを上位にコピーする
これもたまにやりたいときがあるのでメモ
目次
サブディレクトリにある全てのファイルを上位にコピー
ファイル整理したいときとかファイルを1つのフォルダにまとめたいときに使えるbatです。
以下のような場合
1.
2├batファイル.bat
3├AAAフォルダ ─DDDフォルダ ─ foo.txt
4├BBBフォルダ ─ bar.txt
5└CCCフォルダ ─ baz.txt
以下のようになります。
1.
2├batファイル.bat <- 実行
3├AAAフォルダ ─DDDフォルダ ─ foo.txt
4├BBBフォルダ ─ bar.txt
5├CCCフォルダ ─ baz.txt
6├foo.txt
7├bar.txt
8└baz.txt
コピーするファイルの拡張子を
set extension=.txt
で設定できます。
拡張子を設定しない場合はset extension=.*
でOK
(bat自身もコピーしようとしてエラーが出ますが実害はありません。)
1@echo off
2
3rem "Set file extension"
4set extension=.txt
5
6for /r %%d in (*%extension%) do (
7 copy "%%d" "%~dp0"
8)
9pause