Windowsバッチファイルを使用して、「how-to- rename -file.jpg」のようなファイル名を「how-to- reuse -file.jpg」にリネームしたい
つまり、ファイル名の 1 つまたは 2 つの単語だけを置き換えたいとします。
Windowsバッチファイルを使用して、「how-to- rename -file.jpg」のようなファイル名を「how-to- reuse -file.jpg」にリネームしたい
つまり、ファイル名の 1 つまたは 2 つの単語だけを置き換えたいとします。
@echo off
Set "Filename=how-to-rename-file.jpg"
Set "Pattern=rename"
Set "Replace=reuse"
REM Call Rename "%Filename%" "%%Filename:%Pattern%=%Replace%%%"
Call Echo %%Filename:%Pattern%=%Replace%%%
:: Result: how-to-reuse-file.jpg
Pause&Exit
ファイルのループの他の例を示します。
アップデート:
最後の編集を高速入力したため、構文でいくつかのことを見逃していました。修正されたコードは次のとおりです。
@echo off
Setlocal enabledelayedexpansion
Set "Pattern=rename"
Set "Replace=reuse"
For %%# in ("C:\Folder\*.jpg") Do (
Set "File=%%~nx#"
Ren "%%#" "!File:%Pattern%=%Replace%!"
)
Pause&Exit
PS: 部分文字列の詳細については、こちらをご覧ください: http://ss64.com/nt/syntax-substring.html http://ss64.com/nt/syntax-replace.html