有多个压缩文件,例如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
)
)
答案 0 :(得分:0)
这是一个使用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%