由于XP系统的批量改文件名不太好用,看了网友的代码之后做了一些修改,实现按序列修改同一目录下同类型文件,并可添加前缀,选择序列模式: @echo off&setlocal enabledelayedexpansion :input1 set /p ipt1=请输入要重命名的文件类型: if /i "%ipt1%"=="quit" (goto :end) if not exist *.%ipt1% (echo 该目录下不存在%ipt1%格式的文件,请重新输入或输入quit退出 & goto :input1) set /p ipt2=请输入文件的前缀说明: set /p ipt3=请输入文件名序列模式[形如:001,002..请输入a,形如:1,2..请输入b]: set /a i=0,j=0,k=0 for /f "tokens=*" %%a in ('dir *.%ipt1% /b') do ( set /a k+=1 if !k! equ 10 (set j=) if !k! equ 100 (set i=) if /i "%ipt3%"=="b" (ren "%%a" "%ipt2%!k!.%ipt1%" >nul 2>nul) else (ren "%%a" "%ipt2%!i!!j!!k!.%ipt1%" >nul 2>nul) ) echo 重命名结束! :end 另一算法: @echo off&setlocal enabledelayedexpansion set /a i=0,j=0,k=0 for /f "tokens=*" %%a in ('dir *.txt /b') do ( if !k! equ 9 (set /a k=0,j+=1) else (set /a k+=1) if !j! equ 10 (set /a j=0,i+=1) ren "%%a" "Disc!i!!j!!k!.txt" >nul 2>nul echo "!i!!j!!k!" )