首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >批量压缩单个目录中的多个文件

批量压缩单个目录中的多个文件
EN

Stack Overflow用户
提问于 2018-11-12 01:18:33
回答 1查看 49关注 0票数 0

我需要制作批处理脚本,它将以这种方式工作:

有一个文件夹,里面有一百个文件。我需要做一个脚本,这是压缩成单个归档每4个文件。然后所有创建的归档文件必须压缩到一个大的归档文件中。这一切都必须由一个脚本来完成。

我试过了,但我不知道该怎么做。

这是我首先写的:

代码语言:javascript
复制
@ECHO ON
SET SourceDir=C:\Users\Ridaan\Documents\sobol
SET DestDir=C:\folder\Destination

CD /D "C:\Program Files\7-Zip"
FOR /F "TOKENS=*" %%F IN ('DIR /B /A-D "%SourceDir%"') DO (
    7z.exe a "%DestDir%\%%~NF.zip" "%SourceDir%\%%~NXF"
)
EXIT

第二点:

代码语言:javascript
复制
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
robocopy C:\folder\Destination /COPY:DAT /V /XO /NJH /NP /R:1000 /W:10
7z u -mx9 "C:\folder\End.7z" "C:\folder\Destination"
rmdir C:\folder\End\ /Q /S

:END
pause
EN

回答 1

Stack Overflow用户

发布于 2018-11-12 02:15:28

只是为了让您了解一下如何计算文件和

  • 计算邮政编码的count/4的整数
  • 文件号(0..3)的模数%4,以确定它是要创建的新压缩还是要附加到该压缩的新压缩。

代码语言:javascript
复制
:: Q:\Test\2018\11\11\SO_53251220.cmd
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion

set Cnt=0
Set "SrcDir=X:\Your\Path"
For /F "delims=" %%A in ('Dir /B/A-D "%SrcDir%\*"') do (
  Set /A "File=Cnt%%4,Zip=Cnt/4,Cnt+=1"
  Echo Cnt=!Cnt! File=!File! Zip=!Zip! File=%%A
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53251220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档