批处理脚本将具有相同字符串的多个文件(但是通配符!)组合到一个Zip中

时间:2018-06-17 14:14:09

标签: windows batch-file cmd zip 7zip

我正在寻找一种方法,使用7Z将多个文件压缩成.7z / .zip文件。

在我的目录中,我有数百个具有不同数量的'曲目'的文件,如此;

Zebrafile.cue
Zebrafile (Track 1).bin
Zebrafile (Track 2).bin

Donkeyfile.cue
Donkeyfile (Track 1).bin
Donkeyfile (Track 2).bin
Donkeyfile (Track 3).bin

Extradonkeyfile.cue
Extradonkeyfile (Track 1).bin

我需要一种自动将这些文件压缩在一起的方法,所以我最终得到了

Zebrafile.zip
Donkeyfile.zip
Extradonkeyfile.zip

我想脚本必须匹配从开始UP到开始括号之前的空格的整个文件名“(”不知何故!该匹配后唯一的变量是轨道号码“(Track X)”< / p>

有人能够指出我正确的方向吗?我已经看到其他批处理文件接近,但我仍然不确定如何让批处理文件考虑到不断变化的Track#。非常感谢!

1 个答案:

答案 0 :(得分:0)

以下内容可能有效。如果它在.bat脚本中,请加倍&#39;%&#39;在&#39; f&#39;变量。这会将.cue和.bin文件放入一个存档文件中。如果您需要.zip格式文件,请使用-tzip

FOR /F "tokens=*" %f IN ('DIR /B /A:-D "*.cue"') DO (7z a -tzip "%~nf.zip" "%~f" "%~nf (*.bin")