【问题标题】:Batch zipping through subdirectories通过子目录批量压缩
【发布时间】:2023-08-24 08:58:02
【问题描述】:

我有数以千计的文件对需要压缩到档案中。目前,每个文件对(*.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 多个批处理文件?

【问题讨论】:

    标签: batch-file zip cmd 7zip


    【解决方案1】:

    您需要包含路径信息修饰符:d=drive、p=path 和 mp3 f=full path

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

    【讨论】:

    • 非常感谢!整个早上我都在用头撞墙看参数……可能不是最好的头痛。