ファイルの種類ごとにフォルダに振り分ける

バッチファイル
スポンサーリンク

一つのフォルダに複数の種類のファイルが保存されている場合があると思います(txt,zip,jpgなど)。

この記事のバッチファイルを使うとファイルの種類ごとに(拡張子ごとに)フォルダを作成し、同じ種類のファイルを一つのフォルダにまとめることができます。

バッチファイルについてはこちらで説明しています。

実行した環境
・Windows8.1

スポンサーリンク

実行例

このフォルダにはtxt,png,zipの3種類のファイルが保存されています。

この3種類のファイルを拡張子ごとにフォルダへまとめるような移動を実行してみます。

スポンサーリンク

やり方の概要

・移動したいファイルの拡張子をテキストファイルに書く

・この記事内のコードをバッチファイルとして保存して実行。

スポンサーリンク

移動したいファイルの拡張子をテキストファイルに書く

メモ帳などで新規にテキストファイル開き、移動したいファイルの拡張子(txt,pngなど)を書きます。

拡張子を1つ書いたら改行します。拡張子は何個でもいいです。

exten.txt(など)と名前を付けて保存します。

保存先はこれから振り分けようとするファイルが保存されているフォルダです。 

ここで保存したファイル名は下で作成するバッチファイル内でも使われています。ファイル名をexten.txt以外にされる方はバッチファイル内のexten.txtを変更したファイル名にしてください。

スポンサーリンク

以下のコードをバッチファイルとして保存し実行

バッチファイルとして保存し実行するというのは次の意味です。

テキストエディタ(メモ帳など)を新規に開き、以下のコードをコピペします(下にあるのは画像。コードはもう少し下にあります)。

このファイルを「sortFiles.bat」(など)と名前を付けて保存します。保存先は上で作成したテキストファイルと同じフォルダです。 

ひとつ注意することは、このときに保存する「ファイルの種類」を「すべてのファイル」(メモ帳などを使っているとき)にすることです。 

今保存したsortFiles.batをエクスプローラーからダブルクリックすることで実行できます。 

スポンサーリンク

バッチファイルのコード

@echo off

for /f %%a in (exten.txt) do (

	mkdir Files-%%a
	
	for %%f in (*.%%a) do move "%%f" Files-%%a
)
pause

上のコードのおおざっぱな意味

3行目のforループでテキストファイルexten.txtから拡張子名を読み込みます。

5行目で読み込んだ拡張子名を含む名前でフォルダを作成します(例:Files-txt)。

フォルダの作成先はこのバッチファイルのあるフォルダです。

7行目のループでは3行目で読み込んだ拡張子のファイルを今作成したフォルダへ移動します。

スポンサーリンク

バッチファイルを実行

作成したバッチファイルを実行するとコマンドプロンプトが起動しコードに書かれている操作が実行されます。

この記事は以上です。