cls @echo off set a=1 set b=1 set dira=1 set dirb=1 set choice1= set choice2= for /F "usebackq delims=" %%i in (`dir /AD /B progs`) do (call :s_do_sums "%%i") set /p choice1=Category: for /F "usebackq delims=" %%i in (`dir /AD /B progs`) do (call :s_do_sums2 "%%i") goto :eof :s_do_sums echo %a%: %~1 set /a a+=1 goto :eof :s_do_sums2 if '%choice1%'=='%b%' (call :s_list_dir %1) set /a b+=1 goto :eof :s_list_dir for %%c in (progs\%1\*.exe) do (call :s_list_files "%%~nxc") set /p choice2=Program: for %%d in (progs\%1\*.exe) do (call :s_list_files2 "%%~nxd" "%%i") goto :eof :s_list_files echo %dira%: %~1 set /a dira+=1 goto :eof :s_list_files2 if '%choice2%'=='%dirb%' progs\%2\%1 set /a dirb+=1 goto :eof