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
勇者无惧,强者无敌。