:: Uso: [set EXEC="caminho\do\executavel.exe"]&&[set TEST_FOLDER=caminho\dos\casetests]&&[set ARGS=ic]&&[set SOLUTIONS_FILE=arquivo\de\solucoes.txt]&&run.bat @ECHO off setlocal enabledelayedexpansion echo %TIME% if not defined EXEC ( set EXEC="build\solucao.exe" ) if not defined TEST_FOLDER ( set TEST_FOLDER=Teste\Casos ) if not defined SOLUTIONS_FILE ( set SOLUTIONS_FILE=Teste\Solucoes.txt ) if defined ARGS ( set ARGS=-%ARGS% ) for /f "tokens=1,2 skip=1" %%a in (%SOLUTIONS_FILE%) do ( set solutions[%%a]=%%b ) for %%g in (%TEST_FOLDER%\*) do ( for %%h in (%%g) do set testname=%%~nxh for /f "delims=" %%h in ("!testname!") do set optimal=!solutions[%%h]! echo Arquivo de teste: %%g for /f "tokens=4" %%h in ('!EXEC! !ARGS! ^< %%g') do set res=%%h echo Resultado do programa: !res! echo Resultado ótimo: !optimal! if !res! EQU !optimal! ( echo Resultado ótimo^^! ) else ( set /a diff= !res!-!optimal! echo Diferença de !diff! ) ) echo %TIME% endlocal set EXEC= set TEST_FOLDER= set SOLUTIONS_FILE= set ARGS= goto :eof