压缩指定文件夹下所有文件夹,并输出压缩后的文件列表
1, 赋值下面代码另存为:compressionSpecifiedPath.bat 注意文件后缀为(.bat)
echo off & color 0A @echo off &setlocal enabledelayedexpansion rem 压缩指定目录下所有的文件夹到临时目录,并输出压缩后文件的列表和被压缩的目录 rem 不提示删除之前生成的问题,不存在也不提示 del /Q /F /A list.csv 2>nul :input cls set input=: set /p input= 请输入要处理的文件夹: set "input=%input:"=%" :: 上面这句为判断%input%中是否存在引号,有则剔除。 if "%input%"==":" goto input if not exist "%input%" goto input for %%i in ("%input%") do ( if /i "%%~di"==%%i goto input ) pushd %cd% cd /d "%input%">nul 2>nul || exit set cur_dir=%cd% popd echo 压缩后的文件存放位置,重命名后存放的目录,重名名的名称(标准日期格式:20220105) >list.csv rem 循环输入的文件夹下的文件夹,并压缩每个文件夹到临时目录 for /f "usebackq delims=" %%i in (`dir /B /a:d "%input%"`) do ( rem 压缩文件 .\7z\7za.exe a "%input%\tmp\%%i.zip" "%input%\%%i" rem 输出文件路径及文件名到list.csv文件里 echo %input%\tmp\%%i.zip,%input%\tmp\rename\,%%i>>list.csv ) pause if not exist list.csv goto no_dir start list.csv exit :no_dir cls echo %cur_dir% 文件夹下没有单独的文件夹 echo ------------------------------End---------------------------------------------- pause注意
注意:7za.exe需要自行下载,并新建一个文件夹【7z】,具体操作见下图
2.下载红框内的文件(下载地址:https://7-zip.org/download.html),并解压到7z文件里
如下图
文件夹内的内容
3.双击【compressionSpecifiedPath.bat】出如下界面
压缩前的效果如下图
复制路径到黑框中,回车
所有都是ok说明成功了。
压缩后,文件夹里资料如下,见【tmp】文件里
打开黑窗口,按任意键,自动打开excel文件如下图
该文件存放位置:
如果觉得另存操作麻烦,也可以直接下载我制作好的文件,下载地址如下:
链接:https://pan.baidu.com/s/11m1n3QhlVAZDJCBQpSxKug
提取码:yfy5
勇者无惧,强者无敌。