おはようございます。すぎやまです。
この記事では、バッチファイルを使用してファイル名を変更する方法を紹介します。
まず、結論を記載します。
バッチファイルでファイル名変更
- ファイル名の変更は「ren」コマンドを使用
- ファイル情報を取得→ファイル名を抜き出し→ファイル名を変更
代表例のコードは下記です。
使用方法はこちらの記事をご覧ください。
@echo off
setlocal enabledelayedexpansion
rem フォルダのパスを取得
set "folder_path=%cd%"
rem 対象ファイルの拡張子を入力
set /p "extension=対象ファイルの拡張子を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "
rem ファイルの頭に追加したい文字を入力
set /p "front=ファイル名の頭に追加したい文字を入力後、エンターキーを入力してください:"
rem ファイルの末尾に追加したい文字を入力
set /p "back=ファイル名の末尾に追加したい文字を入力後、エンターキーを入力してください:"
for %%f in (*%extension%) do (
set "old_name=%%~nf"
set "new_name=!front!!old_name!!back!.!extension!"
ren "%%f" "!new_name!"
)
echo 完了しました!
pause
下記、詳細を説明します。
使用するコマンド
前述の通り、「ren」コマンドを使用します。
文法 | 機能 |
ren[ファイル名1] [ファイル名2] | [ファイル名1]を[ファイル名2]に変更する |
詳細はこちらのサイトをご覧ください。
特定のファイルのみリネーム
@echo off
setlocal enabledelayedexpansion
rem フォルダのパスを取得
set "folder_path=%cd%"
rem 対象ファイルの拡張子を入力
set /p "extension=対象ファイルの拡張子を入力後、エンターキーを入力してください(例: xlsx,docx,txt,csv ...): "
rem ファイルの頭に追加したい文字を入力
set /p "front=ファイル名の頭に追加したい文字を入力後、エンターキーを入力してください:"
rem ファイルの末尾に追加したい文字を入力
set /p "back=ファイル名の末尾に追加したい文字を入力後、エンターキーを入力してください:"
for %%f in (*%extension%) do (
set "old_name=%%~nf"
set "new_name=!front!!old_name!!back!.!extension!"
ren "%%f" "!new_name!"
)
echo 完了しました!
pause
こちらのコードでは、
拡張子を指定→追加したい文字を入力→その拡張子のファイルを取得→リネーム
という処理をしています。
使用方法はこちらの記事をご覧ください。
ファイル形式の変更
このコマンドを使用すれば、一部のファイルであれば一括で変換することが出来ます。
@echo off
setlocal enabledelayedexpansion
ren *.txt *.doc
echo 完了しました!
pause
このコードはこちらのサイトで紹介されているコードです。
その他のバッチファイル
今回はリネームに焦点を当てましたが、
バッチファイルを使用するとその他の処理も行うことができます。
バッチファイルに可能なことを大まかに知りたい方はこちらの記事を、
実際に使用できるコードを知りたい方はこちらの記事を参照ください。
以上、最後まで読んでくださりありがとうございました。
メーカー勤務のサラリーマン
日々の業務を効率的に進めるため、
慣れない々プログラミングを勉強中。
AIを活用した日々の作業削減を目論みブログを開設。