削除と置き換えのbatファイル
ファイル名を削除する方法
ファイル名の不要な部分を削除する方法です。
日本語を使用する場合は文字コードをShift JISにしてください。
@echo off
cd "ターゲットフォルダのパス"
setlocal enabledelayedexpansion
set "delete=削除したい文字列"
for /d %%D in (*%delete%*) do (
set "dirName=%%~nxD"
set "newDirName=!dirName:%delete%=!"
ren "%%D" "!newDirName!"
)
for %%F in (*%delete%*) do (
set "fileName=%%~nF"
set "extension=%%~xF"
set "newFileName=!fileName:%delete%=!"
ren "%%F" "!newFileName!!extension!"
)
endlocal
ファイル名を置き換える方法
ファイル名の特定の部分を置き換える方法です。
日本語を使用する場合は文字コードをShift JISにしてください。
@echo off
setlocal enabledelayedexpansion
set "directory=ターゲットフォルダのパス"
set "searchString=置き換え前の文字列"
set "replaceString=置き換え後の文字列"
pushd "%directory%"
for /d %%D in (*%searchString%*) do (
set "dirname=%%~nxD"
set "newDirname=!dirname:%searchString%=%replaceString%!"
ren "%%D" "!newDirname!"
)
for %%F in (*%searchString%*) do (
set "filename=%%~nxF"
set "newFilename=!filename:%searchString%=%replaceString%!"
ren "%%F" "!newFilename!"
)
popd
endlocal
文字列追加のbatファイル
ファイル名の先頭に文字列を追加する方法
ファイル名の先頭に文字列を追加する方法です。
日本語を使用する場合は文字コードをShift JISにしてください。
@echo off
setlocal enabledelayedexpansion
set "directory=ターゲットフォルダのパス"
set "prefix=先頭に追加する文字列"
pushd "%directory%"
for /d %%D in (*) do (
set "dirname=%%~nxD"
ren "%%D" "!prefix!!dirname!"
)
for %%F in (*) do (
set "filename=%%~nxF"
ren "%%F" "!prefix!!filename!"
)
popd
endlocal
ファイル名の末尾に文字列を追加する方法
ファイル名の末尾に文字列を追加する方法です。
日本語を使用する場合は文字コードをShift JISにしてください。
@echo off
setlocal enabledelayedexpansion
set "directory=ターゲットフォルダのパス"
set "suffix=末尾に追加する文字列"
pushd "%directory%"
for /d %%D in (*) do (
set "dirname=%%~nD"
set "extension=%%~xD"
ren "%%D" "!dirname!!suffix!!extension!"
)
for %%F in (*) do (
set "filename=%%~nF"
set "extension=%%~xF"
ren "%%F" "!filename!!suffix!!extension!"
)
popd
endlocal
ファイル名に連番を付ける方法
ファイル名に連番を付ける方法です。
@echo off
setlocal enabledelayedexpansion
set "directory=ターゲットフォルダのパス"
set "counter=連番の開始番号"
pushd "%directory%"
for /d %%D in (*) do (
set "dirname=%%~nxD"
set "newDirname=!counter!_!dirname!"
ren "%%D" "!newDirname!"
set /a counter+=1
)
for %%F in (*) do (
set "filename=%%~nF"
set "extension=%%~xF"
set "newFilename=!counter!_!filename!!extension!"
ren "%%F" "!newFilename!"
set /a counter+=1
)
popd
endlocal
文字列変換のbatファイル
ファイル名を小文字にする方法
ファイル名を小文字にする方法です。
@echo off
setlocal enabledelayedexpansion
set "directory=ターゲットフォルダのパス"
pushd "%directory%"
for /d %%D in (*) do (
set "dirname=%%~nxD"
set "newDirname=!dirname!"
call :tolower newDirname
ren "%%D" "!newDirname!"
)
for %%F in (*) do (
set "filename=%%~nxF"
set "newFilename=!filename!"
call :tolower newFilename
ren "%%F" "!newFilename!"
)
popd
endlocal
exit /b
:tolower
set "str=%1"
set "result="
for %%A in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set "str=!str:%%A=%%A!"
)
set "%1=!str!"
exit /b
ファイル名を大文字にする方法
ファイル名を大文字にする方法です。
@echo off
setlocal enabledelayedexpansion
set "target_dir=ターゲットフォルダのパス"
cd /d "%target_dir%"
for /f "tokens=*" %%f in ('dir /b /a-d') do (
set "filename=%%~nf"
set "extension=%%~xf"
set "newname="
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
set "filename=!filename:%%i=%%i!"
)
ren "%%f" "!filename!!extension!"
)
for /f "tokens=*" %%d in ('dir /b /ad') do (
set "dirname=%%d"
set "newname="
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
set "dirname=!dirname:%%i=%%i!"
)
ren "%%d" "!dirname!"
)
endlocal