我尝试编写Windows批处理文件,根据原始名称重命名一组文件。我本质上想要做的是在文件名中查找文本并将其替换为其他文本。 例如,如果文件具有命名结构" Family Christmas 001.jpg"我可能想把它改成"照片 - Xmas 001.jpg"。即取代"家庭圣诞节"与"照片 - 圣诞节"。这只是一个例子。
我从这个网站的用户dbenham那里找到了一段代码,它几乎完全符合我的要求。在这个例子中,他正在替换" 120x90"在文件名中" 67x100" 这是代码:
@echo off
setlocal enableDelayedExpansion
for %%F in (*120x90.jpg) do (
set "name=%%F"
ren "!name!" "!name:120x90=67x100!"
)
任何人都可以帮我修改这段代码,使其处理文件名中的空格吗?
由于
答案 0 :(得分:1)
FOR
声明中的所有引号都是错误的 - 请按照您的示例进行操作:
@echo off
setlocal enableDelayedExpansion
for %%F in ("Family Christmas*.jpg") do (
set "name=%%F"
ren "!name!" "!name:Family Christmas=Photos - Xmas!"
)