@echo off
mode con lines
=30 cols
=60
%1 mshta vbscript
:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window
.close
)&&exit
cd
/d
"%~dp0"
::7zip软件的安装路径
set ZIP="C:\Program Files\7-Zip\7z.exe"
c
:
cd \
::要压缩的源文件的路径,如
C盘下的debug文件夹
cd c
:\Users\limy\Desktop\debug
dir
/s
/a
/b
/a
-d
>>c
:\Users\limy\Desktop\num1
.txt
::删除在num1中已压缩的
7z文件名(避免重复压缩)重定向到num2中
findstr
/v
".7z" c
:\Users\limy\Desktop\num1
.txt
>>c
:\Users\limy\Desktop\num2
.txt
::根据num2中的文件路径单个压缩文件
,返回成功代码则删除
for /f
%%X in (c
:\Users\limy\Desktop\num2
.txt
) do (%ZIP% a
"%%~dpnX.7z" "%%X"
if errorlevel
=0 del
%%X
)
::删除两个num文件,保证只保存最新的文件名
del c
:\Users\limy\Desktop\num1
.txt
del c
:\Users\limy\Desktop\num2
.txt