回复 1# bat小猎手 - @echo off
- cd /d "%~dp0"
- set "ExecFlag=1"
-
- if exist "C:\Program Files\7-Zip\7z.exe" (
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- ) else if exist "C:\Program Files (x86)\7-Zip\7z.exe" (
- set "My7z=C:\Program Files (x86)\7-Zip\7z.exe"
- ) else (
- echo 找不到 7z.exe
- goto :End
- )
- echo %My7z%
-
- REM 后缀名检查
- for %%i in (keep live gooy fun) do (
- for /f "delims=" %%j in ('dir /b /a-d "%%i" 2^>nul') do (
- if /i "%%~xj" neq ".txt" (
- echo 存在后缀名不为txt的文件 %%i\%%j
- set "ExecFlag=0"
- )
- )
- )
-
- REM 文件夹下面的文件数量检查
- set "FileMin=1"
- set "FileMax=15"
- set "FileCount=0"
- for /f "delims=" %%i in ('dir /b /a-d live\*.* 2^>nul') do (
- set /a FileCount+=1
- )
- if %FileCount% lss %FileMin% (
- echo live 文件夹下面的文件[%FileCount%个]少于[%FileMin%个]
- set "ExecFlag=0"
- ) else if %FileCount% gtr %FileMax% (
- echo live 文件夹下面的文件[%FileCount%个]多于[%FileMax%个]
- set "ExecFlag=0"
- )
- set "FileCount=0"
- for /f "delims=" %%i in ('dir /b /a-d gooy\*.* 2^>nul') do (
- set /a FileCount+=1
- )
- if %FileCount% lss %FileMin% (
- echo gooy 文件夹下面的文件[%FileCount%个]少于[%FileMin%个]
- set "ExecFlag=0"
- ) else if %FileCount% gtr %FileMax% (
- echo gooy 文件夹下面的文件[%FileCount%个]多于[%FileMax%个]
- set "ExecFlag=0"
- )
-
- REM 特定文件名检查
- for %%i in (dod.txt sds.txt) do (
- if not exist "gooy\%%i" (
- echo 缺少文件 gooy\%%i
- set "ExecFlag=0"
- )
- )
- for %%i in (vcv.txt xcd.txt) do (
- if not exist "fun\%%i" (
- echo 缺少文件 fun\%%i
- set "ExecFlag=0"
- )
- )
-
- echo 压缩条件 %ExecFlag%
- if %ExecFlag% equ 1 (
- "%My7z%" a keep.zip .\keep\
- "%My7z%" a live.zip .\live\
- "%My7z%" a gooy.zip .\gooy\
- "%My7z%" a fun.zip .\fun\
- ) else (
- goto :End
- )
-
- :End
- pause
复制代码
|