【図解あり】ファイル名から一括で文字削除

バッチファイル

この記事では、複数のファイルの名前から、指定した文字を一括で削除する方法を紹介します。
この方法で、ファイル名を変更する作業を大幅に短縮できます

こんな方におすすめ

  • ファイル名を一括変更したい方
  • ファイル名の付け方のルールを変えようと考えている方

ファイルの整理をしたいなど、ファイル名を一括で変更したいことがあると思います。

ただ、1つ1つ手作業で名称変更をすると
・作業時間が莫大になる
・ミスを引き起こす可能性がある

といったデメリットがあります。

そこでこの記事では、複数のファイルの名前から、指定した文字を一括で削除するバッチファイルを紹介します。

バッチファイルを作ったことがない方向けに説明しますので、
誰でも簡単にバッチファイルが作れます。

それではさっそく説明いたします。

機能紹介

例:ファイル名に「_仮」と付いていて、これを消したい

このとき、今回紹介するバッチファイルを使用すれば、一括でファイル名から「_仮」の部分だけ削除できます。

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

バッチファイルの作り方

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

コード紹介

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

@echo off
setlocal enabledelayedexpansion

rem フォルダのパスを取得
set "targetDirectory=%cd%"

rem 対象ファイルの拡張子を入力
set /p "fileExtension=対象ファイルの拡張子を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "

rem 変更前の文字列
set /p "oldString=ファイル名の中で、削除したい文字を入力後、エンターキーを入力してください:"

rem 変更後の文字列
set "newString="


for %%f in ("%targetDirectory%\*%fileExtension%") do (
    set "filename=%%~nf"
    set "newFilename=!filename:%oldString%=%newString%!"
    if not "!filename!"=="!newFilename!" (
        ren "%%f" "!newFilename!.%fileExtension%"
    )
)

echo Renaming complete.
pause

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

使い方

注意! このファイルを使うとファイルの名前が変わってしまいます。
間違えてしまっても戻すことができないので、注意して使ってください!

先ほどの例を使って説明します。

step1:ファイルを起動する

完成したファイルを、対象のファイルのあるフォルダに保存します。

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

step2:対象のファイル/削除したい文字を指定する

次に、名前を変更したいファイルの拡張子を入力します。(xlsx、jpeg等のファイルの末尾にあるやつです)
今回の例では「xlsx」と打ち込んでEnterを押します。

その後、削除したい文字を入力します。
今回は「_仮」を削除したいので、「_仮」と入力しEnterを押します。

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

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

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

ps1ファイルでファイル名から指定した文字を一括で削除する

バッチファイルのカスタマイズ

今回はフォルダ内にあるファイルから文字を一括で削除しました。
同様の方法で、一括で置き換えることが出来ます。

そこで、次のような方は、それぞれリンクの記事をご覧ください。
特定の文字を一括で別の文字に置き換えたい

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

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