2012-03-01 87 views
0

我有成千上万的文件对需要压缩到档案中。目前,每个文件对(* .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

您需要包括路径信息的修饰符:d =驱动,P =路径,并为MP3 F =完整路径

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

非常感谢!整个上午我都在看着参数......我的头撞在墙上,可能并不是最好的头痛。 – QuasiAbstract 2012-03-01 15:12:25