我有成千上万的文件对需要压缩成档案。目前,每个文件对(* .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多个批处理文件?
答案 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"