Se você obtiver a versão de linha de comando do 7-Zip ( 7za.exe ) e colocá-la em algum lugar no caminho do sistema (como C:\Windows ), o seguinte script poderá funcionar como uma linha de base:
@echo off
set DownloadPath=C:\Path\To\Downloaded\Stuff
set ErrorReport=C:\Path\To\BadFiles.txt
pushd %DownloadPath%
for /r %%i in (*.7z;*.zip;*.cab;*.rar;*.ace) do (
7za.exe t "%%i"
if ERRORLEVEL 1 echo %%i>>%ErrorReport%
)
popd
Copie e cole o texto acima em um arquivo .cmd , certificando-se de modificar as linhas set DownloadPath= e set ErrorReport= para apontar para algum lugar válido. O arquivo ErrorReport será criado se não existir e será anexado, se já existir. Assim, você pode executar o script uma vez, modificar DownloadPath e executá-lo novamente sem perder seus resultados anteriores.
Se quiser apenas verificar todos os arquivos sem restringir as extensões, você pode substituir o *.7z;*.zip... por * , então a linha for seria: for /r %%i in (*) do (