根据文件所在文件夹重命名文件

根据文件所在文件夹重命名文件

我有数百个以电影命名的文件夹。每个文件夹中都有一个.mkv文件(或.avi.mp4),名称不同。每个文件夹中都有一个folder.jpg

我想重命名每个视频文件,以便它带有其父文件夹的名称。folder.jpg但必须保持不变。

例如文件夹结构如下:

 - Movies/Stirb Langsam 1/stlg1.mkv
 - Movies/Stirb Langsam 2/stlg2.mkv
 - Movies/Star Wars 1/hhgdtebds.mkv
 - Movies/Star Wars 2/stwa2.mkv

并且应该是:

 - Movies/Stirb Langsam 1/Stirb Langsam 1.mkv
 - Movies/Stirb Langsam 2/Stirb Langsam 2.mkv
 - Movies/Star Wars 1/Star Wars 1.mkv
 - Movies/Star Wars 2/Star Wars 2.mkv

目前我使用的是 Windows 7。如果有位脚本专家能帮我就好了。

答案1

将其作为批处理文件保存在树的根目录中:

@echo off
for /r /d %%x in (*) do (
 pushd "%%x"
 echo %%x
 for /F "delims=" %%i in ("%%x") do (
  ren *.mkv "%%~ni.mkv" 2> NUL
  ren *.avi "%%~ni.avi" 2> NUL
  ren *.mp4 "%%~ni.mp4" 2> NUL
 )
 popd
)

免责声明:对于造成的任何损害,我不承担任何责任。

虽然我已经根据您提供的列表进行了测试,但我强烈建议您在运行批处理文件之前备份文件。

相关内容