Windowsでファイル名の先頭や末尾に任意の文字を一括で追加するバッチファイルの作成方法

Windowsでファイル名を一括で変更する必要がある場合、手作業で行うのは手間がかかります。このような作業を自動化するために、バッチファイルを使用することができます。この記事では、Windowsのコマンドプロンプトで動作するバッチファイルを作成して、ファイル名の先頭や末尾に任意の文字列を一括で追加する方法を紹介します。

バッチファイルを作成する

最初に、テキストエディターを開いて新しいファイルを作成し、その拡張子を .bat に設定します。例えば、add_prefix.bat のような名前を付けることができます。

変数を設定する

バッチファイル内で、対象のディレクトリと追加する文字列を指定するための変数を設定します。以下のコードを使用して、ディレクトリと追加する文字列を設定します。

set "directory=C:\Path\To\Directory\" REM 対象のディレクトリを指定します
set "prefix=任意の文字列" REM 追加する文字列を指定します

ファイル名を変更する

次に、指定されたディレクトリ内のファイルをループして、各ファイル名の先頭に指定した文字列を追加します。以下のコードを使用します。

for %%F in (*) do (
    set "filename=%%~nxF"
    ren "%%F" "!prefix!!filename!"
)

バッチファイルを保存

すべての手順が完了したら、バッチファイルを保存して閉じます。その後、ファイルを実行して指定したディレクトリ内のファイル名の先頭に指定した文字列が追加されたことを確認します。

完成形サンプル

@echo off
setlocal enabledelayedexpansion

set "directory=C:\Path\To\Directory\" REM 対象のディレクトリを指定します
set "prefix=任意の文字列" REM 追加する文字列を指定します

pushd "%directory%"

for %%F in (*) do (
    set "filename=%%~nxF"
    ren "%%F" "!prefix!!filename!"
)

popd
endlocal

このスクリプトでは、directory変数にディレクトリのパスを指定し、そのディレクトリ内のすべてのファイルのファイル名の先頭に指定した文字列を追加します。変更する必要があるディレクトリのパスを適切に設定してください。

ファイルの名の末尾に文字列を追加したい場合

ファイル名の先頭ではなく末尾に任意の文字列を追加したい場合は以下のようにします。

@echo off
setlocal enabledelayedexpansion

set "directory=C:\Path\To\Directory\" REM 対象のディレクトリを指定します
set "suffix=任意の文字列" REM 末尾に追加する文字列を指定します

pushd "%directory%"

for %%F in (*) do (
    set "filename=%%~nF"
    set "extension=%%~xF"
    ren "%%F" "!filename!!suffix!!extension!"
)

popd
endlocal

このバッチファイルでは、指定されたディレクトリ内のすべてのファイルについて、ファイル名の末尾に指定した文字列を追加します。指定したディレクトリのパスと末尾に追加する文字列を適切に変更してください。

まとめ

このバッチファイルを使用することで、手動で一つ一つのファイル名を変更する手間を省き、簡単に一括でファイル名を変更することができます。作業の効率化にお役立てください。