【図解あり】ファイルを作成日時で管理する

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

この記事は、フォルダにあるファイルに番号をつけて整理する方法を紹介した記事の、
数字を割り振る順番を変更する方法を紹介しています。

こんな方におすすめ

  • 数字の割り付け方を変更したいが、方法がわからない方
  • ChatGPTを使ったけど、機能しなかった方

ファイルの整理をしたいとき、ファイル名が番号順になっているとなにかと便利です。
特にデータなどでは、後々見返す際や、分析を行うときに非常に有用です。

そこで、この記事ではファイル名に番号を一括でつけるバッチファイルを紹介しました。
ただ、その記事では数字をファイルの作成日時が古い順に追加していました。
今回は新しい順や名前順等で数字を割り振るを変更する方法をお伝えします!

それではどうぞ!

コード紹介

今回は例として作成日時の新しい順に数字を割り振るコードを紹介します。
数字をファイル名の頭に追加するコードは下記の通りです

@echo off
setlocal enabledelayedexpansion

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

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

REM 数字の入れ方をを入力
set /p "mid=数字の前に何を入れるか入力後、エンターキーを入力してください(例:1-nにしたいときは - ,1.nのときは . ,1nのときはそのままエンター): "


REM カウンター初期化
set "counter=1"

REM フォルダ内の指定形式のファイルを時間順にループ
for /f "delims=" %%f in ('dir /b /o:-d *%fileFormat%') do (
    REM 新しいファイル名を作成
    set "newName=!counter!%mid%%%~nxf"
    
    REM ファイル名変更
    ren "%%f" "!newName!"
    
    REM カウンターを増やす
    set /a "counter+=1"
)

echo ファイルのリネームが完了しました。
pause

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

変更点

元のファイルとの違いは
「for /f “delims=” %%f in (‘dir /b /o:-d *%fileFormat%’) do (」
の部分です。

ポイントは
dir関数でファイルの読み込み方法を変えること
です!

ポイント:dir関数でファイルの読み込み方法を変える

setコマンドは、環境変数に関係するコマンドです。
詳細はこちらのサイトをご覧ください。

今回はこちらの内、
「 /o[[:]<sortorder>] 」を使用します。

今回で言うと/o:-dの部分が重要で、
「d」があることでファイルを作成日時順で並び替える
「-」があることで作成日時が新しい順に並び替える
となります。

dの代わりに入れることが出来る文字と、効果は次の通りです

入力するアルファベット順番
n名前のアルファベット順
e拡張子のアルファベット順
sサイズ別、最小値からの昇順
d日付/時刻別、古い順

ファイルの使い方

基本的には元の記事のファイルと同じ使い方です。
こちらの記事を参照ください!

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

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