压缩指定文件夹下所有文件夹,并输出压缩后的文件列表

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文件里

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第1张图片

如下图

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第2张图片

文件夹内的内容

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第3张图片

3.双击【compressionSpecifiedPath.bat】出如下界面

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第4张图片

压缩前的效果如下图

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第5张图片

复制路径到黑框中,回车

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第6张图片

所有都是ok说明成功了。

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第7张图片

 压缩后,文件夹里资料如下,见【tmp】文件里

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第8张图片

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第9张图片

打开黑窗口,按任意键,自动打开excel文件如下图

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第10张图片

 该文件存放位置:

压缩指定文件夹下所有文件夹,并输出压缩后的文件列表_第11张图片

如果觉得另存操作麻烦,也可以直接下载我制作好的文件,下载地址如下:

链接:https://pan.baidu.com/s/11m1n3QhlVAZDJCBQpSxKug
提取码:yfy5

你可能感兴趣的:(压缩指定文件夹下所有文件夹,并输出压缩后的文件列表)