【バッチファイル】特定の形式のファイルを一括で移動

この記事では、フォルダにある特定のファイルをフォルダに一括で纏める方法をお伝えします。

こんな方におすすめ

  • フォルダがごちゃごちゃになってきた…という方
  • ChatGPTを使ったけど、機能しなかった方

この記事内でコードを紹介しますので、それをコピペすれば簡単にバッチファイルが作れます。

それではどうぞ!

機能紹介

例:フォルダ内のファイルからpngのみを抽出したい

ごちゃついたフォルダのサンプル

この時、今回紹介するバッチファイルを使用すれば

完了イメージ

指定した拡張子の名前でフォルダを作成し、その中にそのファイルを纏めることが出来ます。

バッチファイルの作り方

バッチファイルそのものの作成手順は、この記事を参照ください
図解付きでバッチファイルの作り方を紹介しています!

コード紹介

今回使用したファイルの中身は下記です。

@echo off
setlocal enabledelayedexpansion

REM フォルダ内の指定した形式のファイルを取得するバッチファイル

REM フォルダパスを設定(カレントディレクトリ)
set "folder=%cd%"

REM 形式を入力
set /p "fileFormat=ファイルの形式を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "

REM まとめる先のフォルダ
set "destination_folder=%cd%/%fileFormat%"

REM フォルダが存在しなければ作成する
if not exist "%destination_folder%" mkdir "%destination_folder%"

REM 指定した拡張子のファイルを移動
for %%i in ("%folder%\*%fileFormat%") do (
    move "%%i" "%destination_folder%"
)

echo "ファイルの移動が完了しました。"
pause

この上のコードをコピーして、テキストに張り付けてバッチファイルにすれば完成です。
それだけでさっきのファイルが完成します。

使い方

ファイルが完成したらこんな感じになります。

ファイル完成後

このファイルをダブルクリックすると、こんな画面が出てきます。

ファイル使用手順1
バッチファイル起動後画面

最初にリストアップしたいファイルの拡張子(xlsxとか、jpegとか、pngとか、ファイルの末尾にあるやつです)を記入します。
今回は「png」と打ち込んでEnterを押します。

ファイル使用手順2
拡張子入力後イメージ

そうしたら作業完了です!

ファイル使用手順3
作業完了後イメージ

新たに作成されたフォルダを開いてみると

ファイル使用手順4
フォルダにまとまったファイル

このようにフォルダ内のファイルが移動されています。

ps1ファイルを使用する場合

今回はバッチファイルを使用しましたが、PowerShellでも同様の操作ができます。
ps1ファイルのほうが都合がよい方は下記をご覧ください。

ps1ファイルでファイルを整理する

以上、最後まで読んでいただき誠にありがとうございました。

タイトルとURLをコピーしました