繁体   English   中英

批处理文件到zip文件-适用于子目录

[英]Batch File to zip files - apply to sub directories

我正在寻找一个批处理文件以应用于所有子目录。

我有很多文件夹。 每个文件夹将包含文件对
xxx1.mp3和xxx1.cdg,
xxx2.mp3和xxx2.cdg,
等等

我有一个7zip批处理文件,它将查找文件对并创建一个单独的zip文件xxx1.zip,xxx2.zip并删除(现在)冗余cdg / mp3文件。

但是,仅当bat文件在每个单独的文件夹中运行时,这才起作用。 我真正要寻找的是添加到bat文件的开关,如果我在根目录中运行,它将也在所有子目录中运行。

我当前运行的代码是:

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

有什么帮助吗?

FOR /R %%F IN (*.cdg) DO IF EXIST "%%~dpnF.mp3" pushd "%%~dpF"&ECHO("C:\Program Files\7-Zip\7Z.exe" a "%%~nF.zip" "%%~nF.cdg" "%%~nF.mp3" -sdel&POPD

请注意,这是一条批处理行-从提示符处执行,将每个%%的metavariable减少为% (但是通过剪切和粘贴将其放入批处理要容易得多;保存所有这些错字...)

所需的命令仅仅ECHO编用于测试目的。 确认命令正确无误后 ,删除字符串ECHO(出现在命令之前,以实际执行命令。

使用for /r将遍历与提供的掩码匹配的文件名(也可以添加起始目录-从提示符处for /?|more 。)

因为我们知道所选的完整文件名存在,所以首先检查配对的文件是否存在,然后切换到所需的目录,存档,然后再切换回去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM