前一个回答的是用的for语句,里面%%a是for语句里面的变量,%%~na就是扩展%%a到一个文件名
也可以把你那些需要重命名的文件都放到一个文件夹里,把文件夹拖到批处理文件里。代码当然是需要改一下
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 拖放/拖拽文件到bat文件图标上实现修改文件扩展名/后缀名
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +WX/%$%%$% %z%
setlocal enabledelayedexpansion
>"%tmp%\t.t" echo;!cmdcmdline!
endlocal
>"%tmp%\j.j" echo;s=WSH.StdIn.ReadLine().replace(/^^.+?\.(bat^|cmd)"/i,'');
>>"%tmp%\j.j" echo;WSH.echo(s.replace(/"/g,'').replace(/\s(?=[a-z]:)/ig,'\r\n'));
set "n="
for /f "delims=" %%a in ('type "%tmp%\t.t"^|cscript -nologo -e:jscript "%tmp%\j.j"') do (
set /a n+=1
echo;"%%a" --^> "%%~na.mp4"
ren "%%a" "%%~na.mp4"
)
if not defined n (echo;拖放文件或文件夹到bat文件图标上&goto end)
:end
echo;%#% +WX/%$%%$% %z%
>nul ping -n 5 0
exit