Var*_*run 20 windows string rename file batch-file
我想 通过使用Windows批处理文件将文件名重命名为"how-to - rename -file.jpg"到"how-to- reuse -file.jpg"
即我只想替换文件名中的一个或两个单词.
Ele*_*ios 43
@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
Run Code Online (Sandbox Code Playgroud)
我给你一个文件循环的其他例子:
更新:
我错过了语法中的一些内容'导致我上次编辑的快速输入,这里是更正后的代码:
@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
Run Code Online (Sandbox Code Playgroud)
PS:您可以在这里阅读以了解有关子字符串的更多信息:http : //ss64.com/nt/syntax-substring.html http://ss64.com/nt/syntax-replace.html
fox*_*ive 32
上面的代码不重命名文件 - 路径是一个问题,源文件名不正确.
这将适用于当前文件夹中的文件 - 除了那些!在名称中将是一个问题.
@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
Run Code Online (Sandbox Code Playgroud)