我有包含的文件
C:\文件夹名称1\Files\soandso1.mkv C:\文件夹名称2\Files\soandso2.mp4 C:\文件夹名称3\Files\soandso3.avi
我想将 .mkv、.mp4 和 .avi 移回其父文件夹,即 foldername1、2、3。
每个 soandso 文件所在的文件夹名称都会不同。基本上,我想删除“文件”文件夹,并将媒体文件放在文件夹名称 1、2 和 3 中。
有没有这个的批处理命令?
答案1
我快速整理了一些东西;现在没有时间进行广泛测试:
@echo off
for /f "delims=" %%d in ('dir /b/ad-s-h') do (
if exist "%%d\Files" (
pushd "%%d\Files"
if exist *.avi move *.avi ..
if exist *.mkv move *.mkv ..
if exist *.mp4 move *.mp4 ..
popd
rd "%%d\Files"
)
)
如果你在 C:\ 中运行它,它将查看驱动器上的每个顶级文件夹,并查看其中是否包含文件子文件夹,它会将找到的所有 AVI/MKV/MP4 文件上移一层(即移至顶层文件夹),然后删除文件子文件夹。
如果存在任何其他文件文件该文件夹将不是删除。rd /s /q
如果您想强制删除,可以使用。此外,移动每次都会提示您覆盖重复项(如果有),可以使用来自动完成move /y
。