我想通过使用Windowsbatch file将文件名称重命名为“how-to – rename -file.jpg”为“how-to reuse -file.jpg”
即我只想replace文件名中的一个或两个单词。
@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
上面的代码不重命名文件 – 路径是一个问题,源文件名是不正确的。
这将对当前文件夹中的文件起作用 – 除了那些文件! 在名字将是一个问题。
@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