我有数百个以电影命名的文件夹。每个文件夹中都有一个.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
)
免责声明:对于造成的任何损害,我不承担任何责任。
虽然我已经根据您提供的列表进行了测试,但我强烈建议您在运行批处理文件之前备份文件。