Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 重命名计划中的文件集_Batch File - Fatal编程技术网

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!”
。。。