提问人:Sarah 提问时间:11/10/2023 更新时间:11/10/2023 访问量:32
根据内容文件的名称将 7zip 划分为多个 zip[已关闭]
Divide 7zip into multiple zips based on names of content files [closed]
问:
我有一堆非常大的 7zip 文件(最大 40 GB)。它们中的每一个都包含数千个单独的文件。我需要做的是根据内容文件的名称将它们拆分出来。
例如,我每年有一个zip,其中有一些文件与文件名中的模式匹配,然后是一大堆其他名称不同的文件。file_a_....txt
我目前拥有什么(每年 1 7z)
examplezip_2010.7z
├── file_a_1.txt
├── file_a_2.txt
├── file_a_3.txt
├── file_a_....txt
├── otherfile.txt
├── randomfile.txt
└── ....txt
我想要的是 1 个 zip(7z/zip,我不在乎)和我所有的 zip,另一个是所有其他文件。结婚file_a_....txt
A_file_zip_2010.7z
├── file_a_1.txt
├── file_a_2.txt
├── file_a_3.txt
└── file_a_....txt
和
Other_files_zip_2010.7z
├── otherfile.txt
├── randomfile.txt
└── ....txt
我想从命令行/bat 文件或类似文件执行此操作,因为我需要为大量 7zip 文件执行此操作。我尝试使用以下蝙蝠,它确实有效,但最后一个脚本(我相信)有效地制作了 2 个单独的 7zip,然后删除原始脚本,因此在重新复制所有文件时速度非常慢。file_a_...我想分离的文件通常只占总 2z 的 7% 左右,所以如果我能避免与其他 98% 一起移动/更改东西,那么应该希望能大大加快速度。
我没有与 7zip 结婚,但以 7z 的形式接收了文件,因此需要任何选项来使用它。全部运行在Windows计算机上。
批量尝试:
set filepref=file_a_
set yr=2012
REM extract files matching regex to folder
7z.exe e "examplezip_%yr%.7z" -r -o".\%filepref%_%yr%" -i!%filepref%*
REM zip new folder
7z.exe" a -t7z "%filepref%_%yr%.7z" ".\%filepref%_%yr%\*.*"
REM delete files matching regex to folder
REM this is the step which seems to recopy everything
7z.exe d "examplezip_%yr%.7z" %filepref%* -r
答: 暂无答案
评论
*.*
*
*.*
*
7z.exe
REM zip new folder
-sdel
7-zip.chm
7z.exe
--
7z.exe x -bd -bso0 -o* -spe -y -- "examplezip_%yr%.7z"
pushd "examplezip_%yr%"
7z.exe a -bd -bso0 -r -sdel -t7z -y -- "..\A_files_%yr%.7z" "%filepref%*"
7z.exe a -bd -bso0 -r -sdel -t7z -y -- "..\Other_files_%yr%.7z"
popd
rd /Q /S "examplezip_%yr%"