用bat批量重命名不同文件夹下的同名文件

起因:手机B站离线的视频目录是这个样子的

视频的每一个分P都会生成一个文件夹,包含视频基本资料和一个名为80的文件夹,这个文件夹里放着后缀名为m4s的音频和视频文件,现需要使用电脑播放下载的视频。那么第一步就是更改视频和音频文件的后缀名。

百度得知bat使用的基本案例:

ren *.m4s *.mp4

可将以m4s的后缀名文件批量重命名为以mp4为后缀名的文件。唯一不足的是这个bat文件需要放在与被更改文件同一文件夹下,而这个视频由于有多个分P,导致有许多文件夹,这个方法不好用。

更改后的代码如下

FOR /f "tokens=*" %%i IN ('dir /a:d /b') DO (
ren "F:\206940155\%%i\80\audio.m4s" "audio.mp3"
ren "F:\206940155\%%i\80\video.m4s" "video.mp4"
)

我猜想的理解:整体是FOR IN DO()的循环语句,dir /a:d /b 执行的是遍历的功能,将bat文件所在的文件夹里的文件名找出,,token=* 把文件夹的名字给了%%i,得到文件名后,就能写出需要改名文件所在的详细地址,然后用ren重命名了。

我将206940155这个视频文件夹放在F盘根目录下,bat文件放进去。代码很好地完成了他的使命。

升级版plus

sat a=0
setlocal EnableDelayedExpansion
FOR /f "tokens=*" %%i IN ('dir /a:d /b') DO (
set /A a+=1
ren "F:\206940155\%%i\80\audio.m4s" "audio!a!.mp3"
ren "F:\206940155\%%i\80\video.m4s" "video!a!.mp4"
copy F:\206940155\%%i\80\audio!a!.mp3 F:\206940155\formove
copy F:\206940155\%%i\80\video!a!.mp4 F:\206940155\formove
)

不仅完成了重命名,还顺便排了个续,解决了文件名一样的问题,将这些重命名后的文件复制移动到formove文件夹下。(使用move命令也可,只是不好撤销)

于是我得到了整个文件夹的视频和音频

 然后,看来只能手动pr处理成视频了……

猜你喜欢

转载自blog.csdn.net/weixin_59312879/article/details/123101530