cls
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
dir "progs\%~1" | find "exe" /C > count.txt
set /P count=<count.txt
if %count%==0 goto :count
del count.txt
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
:count
set /a a+=1
goto :eof