特定のファイルだけ移動させるコード

おはようございます、すぎやまです。

この記事では、フォルダにあるファイルを簡単に整理する方法をお伝えします!

こんな方におすすめ

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

仕事や研究をしていると、関連するファイルを纏めて保存しておくことはよくあります。

しかし、整理されていないと必要なファイルを探すのに非常に手間取ってしまいます。
そこで今回は、フォルダにあるファイルのリストを作成するバッチファイルを紹介します!

この記事ではコードも紹介しますので、それをコピーして張り付けるだけでバッチファイルが作れます。
バッチファイルを作ったことのない方でも絶対にできますよ!

それではどうぞ!

機能紹介

このファイルは、フォルダ内にある、指定した拡張子のファイルをフォルダに纏めるものです。

例えば、フォルダのなかにこんなファイルがあったとします。

この時、画像ファイルを纏めたいとき、このファイルを使えば

このように、指定した拡張子の名前でフォルダが出来て

フォルダを開くと、画像ファイルが移動しています!

さっそく作り方を説明します!

バッチファイルの作り方

この記事では詳細は記載していません・・・すいません・・・

バッチファイルの作り方がわからない方は、この記事を読んでみてください
図解付きでバッチファイルの作り方を紹介しています!

コード紹介

今回使用したファイルの中身はこんな感じです!

@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

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

使い方

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

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

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

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

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

このようにフォルダ内のファイルがリストアップされています!

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

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

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

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

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