пакетный файл для подсчета файлов в ZIP-файлах - PullRequest
0 голосов
/ 28 июня 2018

Существует несколько zip-файлов, например zip1, zip2 и т. Д. В каждом zip-файле содержится несколько файлов. Как создать пакетный файл, который показывает только количество файлов в определенной папке как zip1: 524 файла zip2: 322 файла

код, который я сделал, работает в других папках, но не в zip-файлах

@ECHO OFF
FOR /D %%D IN ("folderpath\*") DO (
  FOR /F %%K IN ('DIR /A-D "%%D" 2^>NUL ^| FIND "File(s)" ^|^| ECHO 0') DO (
    ECHO %%D: %%K
  )
)

1 Ответ

0 голосов
/ 28 июня 2018

Вот подпрограмма, которая использует zipjs.bat и считает файлы в zip-файле (для этого не требуются внешние двоичные файлы):

@echo off

:countFilesInZip file.zip [out]
setlocal
set "count=0"
for /f "skip=1 tokens=* delims=" %%a in ('
    call zipjs.bat list  -flat yes -source "%~f1"^|
    findstr /e /v "\\"
') do (
  set /a count=count+1
)

::echo %count%
endlocal & if "%~2" EQU "" (
    echo %count% 
) else (
   set "%~2=%count%"
)
goto :eof

чтобы использовать его:

call :countFilesInZip  "c:\zipfile.zip" count
echo %count%
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...