批量压缩子目录

时间:2012-03-01 14:05:06

标签: batch-file zip cmd 7zip

我有成千上万的文件对需要压缩成档案。目前,每个文件对(* .mp3& * .cdg)具有相同的名称(除了扩展名)。每个文件对都位于主目录内的子目录中。我想将每个存档放在文件对已经存在的同一子目录中。我目前正在使用以下cmd命令,但它在主目录中创建存档,然后“找不到”* .mp3或* .cdg。

FOR /r %F IN (*.mp3) DO "C:\Program Files\7-Zip\7Z.exe" a "%~nF.zip" "%~nF.mp3" "%~nF.cdg"

我需要修改什么才能将每个存档留在原始文件的子目录中,而不为每个子目录创建140多个批处理文件?

1 个答案:

答案 0 :(得分:1)

您需要包含路径信息修饰符:d = drive,p = path,以及mp3 f =完整路径

FOR /r %F IN (*.mp3) DO "C:\Program Files\7-Zip\7Z.exe" a "%~dpnF.zip" "%~fF" "%~dpnF.cdg"