この記事では、複数のファイルの名前から、指定した文字を一括で削除する方法を紹介します。
この方法で、手作業でファイル名から文字を削除する手間を削減できます。
こんな方におすすめ
- ファイル名を一括変更したい方
- ファイル名の付け方のルールを変えようと考えている方
バッチファイルを作ったことがない方向けに説明しますので、
初めての方でも簡単にバッチファイルが作れます。
機能紹介
例:ファイル名に「_仮」と付いていて、これを消したい
このとき、今回紹介するバッチファイルを使用すれば、一括でファイル名から「_仮」の部分だけ削除できます。
バッチファイルの作り方
バッチファイルの作り方は、この記事を参照ください。
図解付きでバッチファイルの作り方を紹介しています!
コード紹介
今回使用したファイルの中身は下記です。
@echo off
setlocal enabledelayedexpansion
rem 今いるフォルダのパスを取得
set "folder=%cd%"
rem 名前を変更するファイルの形式を入力
set /p "fileFormat=対象ファイルの拡張子を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "
rem 削除したい文字を取得
set /p "oldString=ファイル名の中で、削除したい文字を入力後、エンターキーを入力してください:"
set "newString="
rem フォルダ内の指定形式のファイルをループ
for %%f in ("%folder%\*%fileFormat%") do (
set "filename=%%~nf"
set "newFilename=!filename:%oldString%=%newString%!"
if not "!filename!"=="!newFilename!" (
ren "%%f" "!newFilename!.%fileFormat%"
)
)
echo ファイルのリネームが完了しました。
pause
この上のコードをコピーして、テキストに張り付けてバッチファイルにすれば完成です。
使い方
注意! このファイルを使うとファイルの名前が変わってしまいます。
間違えてしまっても戻すことができないので、注意して使ってください!
先ほどの例を使って説明します。
step1:ファイルを起動する
完成したファイルを、対象のファイルのあるフォルダに保存します。
作成したファイルを起動すると、こんな画面が出てきます。
step2:対象のファイル/削除したい文字を指定する
次に、文字を削除したいファイルの拡張子を入力します。(xlsx、jpeg等のファイルの末尾にあるやつです)
今回の例では「xlsx」と打ち込んでEnterを押します。
その後、削除したい文字を入力します。
今回は「_仮」を削除したいので、「_仮」と入力しEnterを押します。
そうしたら作業完了です!
バッチファイルのカスタマイズ
今回はフォルダ内にあるファイルから文字を一括で削除しました。
同様の方法で、一括で置き換えることが出来ます。
そこで、次のような方は、それぞれリンクの記事をご覧ください。
特定の文字を一括で別の文字に置き換えたい
以上、最後まで読んでいただき誠にありがとうございました。
メーカー勤務のサラリーマン。
生成AIを駆使してプログラムを作り、
日々の業務の効率化を図る。