"how-to-rename-file.jpg"のようにファイル名を変更したい"how-to-reuse-file.jpg" Windowsバッチファイルを使用して
つまりファイル名の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.htmlhttp://ss64.com/nt/syntax- replace.html
上記のコードはファイルの名前を変更しません-パスが問題であり、ソースファイル名が正しくありません。
これは、現在のフォルダー内のファイルに対して機能します-!名前に問題があります。
@echo off
Setlocal enabledelayedexpansion
Set "Pattern=rename"
Set "Replace=reuse"
For %%a in (*.jpg) Do (
Set "File=%%~a"
Ren "%%a" "!File:%Pattern%=%Replace%!"
)
Pause&Exit