2012-03-01 117 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