How to rename file by replacing substring using batch in Windows [closed] How to rename file by replacing substring using batch in Windows [closed] windows windows

How to rename file by replacing substring using batch in Windows [closed]


@echo offSet "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.jpgPause&Exit

I give you other example for a loop of files:

UPDATE:

I've missed some things in the syntax 'cause fast-typing my last edit, here is the corrected code:

@echo offSetlocal enabledelayedexpansionSet "Pattern=rename"Set "Replace=reuse"For %%# in ("C:\Folder\*.jpg") Do (    Set "File=%%~nx#"    Ren "%%#" "!File:%Pattern%=%Replace%!")Pause&Exit

PS: You can read here to learn more about substring: http://ss64.com/nt/syntax-substring.htmlhttp://ss64.com/nt/syntax-replace.html


The code above doesn't rename the files - The paths are an issue and the source filename is incorrect.

This will work on files in the current folder - except those with ! in the names will be a problem.

@echo offSetlocal enabledelayedexpansionSet "Pattern=rename"Set "Replace=reuse"For %%a in (*.jpg) Do (    Set "File=%%~a"    Ren "%%a" "!File:%Pattern%=%Replace%!")Pause&Exit