Batch file 重命名计划中的文件集
我在一个文件夹中有三个文件Batch file 重命名计划中的文件集,batch-file,Batch File,我在一个文件夹中有三个文件 AODH 30-9-2015 DEEL 1.mp3 AODH 30-9-2015 DEEL 2.mp3 AODH 30-9-2015 DEEL 3.mp3 我想把它们自动(星期天)改名为 AODH DEEL 1.mp3 AODH DEEL 2.mp3 AODH DEEL 3.mp3 我该怎么做? 我正在与代码作斗争 @ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION FOR /f "tokens=*" %%a IN ('di
AODH 30-9-2015 DEEL 1.mp3
AODH 30-9-2015 DEEL 2.mp3
AODH 30-9-2015 DEEL 3.mp3
我想把它们自动(星期天)改名为
AODH DEEL 1.mp3
AODH DEEL 2.mp3
AODH DEEL 3.mp3
我该怎么做?
我正在与代码作斗争
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=*" %%a IN ('dir /b *" ??-??-???? DEEL 1.mp3"') DO (
SET "oldName=%%a"
SET "newName=!oldName: ??-??-????=!"
ECHO Rename !oldName! to !newName!
REM RENAME "!oldName!" "!newName!"
)
这项工作:
对于%%a in(“AODH*DEEL*.mp3”)执行以下操作(
对于/f“tokens=4 delims=。”%%b in(“%%a”)do(
ren“%%a”AODH DEEL%%b.mp3
)
)对于您问题中提到的三个文件,整个代码是:
for /L %%a in (1,1,3) do ren "AODH 30-9-2015 DEEL %%a.mp3" "AODH DEEL %%a.mp3"
更通用的版本,可接受文件名中的任意日期和任意数量的文件:
for %%a in ("AODH * DEEL *.mp3") do (
for /f "tokens=4 delims=. " %%b in ("%%a") do (
ren "%%a" "AODH DEEL %%b.mp3"
)
)
要计划批处理文件的使用。您能否详细说明您正在努力解决的问题。
for/F“tokens=1,2*”%%a in('dir/B*.mp3')do ren“%%a%%B%%c”“%%a%%c”
字符串替换扩展语法在您尝试时不支持通配符,因此行设置“newName=!oldName:?!”
失败,因为它想删除文本字符串部分“??-??”`(即,用空字符串替换它);相反,当第一个和第二个名称部分的长度始终相同时,可以使用类似于的方法设置“newName=!oldName:~,4!!oldName:~16!”
。。。