I found this and tested, it worked great but the main issue is that if I have a "My Executable File.exe", the script won't run with an error message, but if I changed "My Executable File.exe" to "MyExecutableFile.exe", it would work. Also, it only found in the current directory but not recursive in my sub-directories that contains all my "*.EXE"
set /a counter=0
if exist list do (del list)
for /f "usebackq tokens=*" %%i in (`dir/b *.exe`) do (
set /a counter+=1
echo !counter! %%i>>list
echo. & echo There are !counter! executible files in current directory. & echo.
echo. & echo Please enter your choice:
set /p errorlevel=
for /f "skip=%errorlevel% tokens=*" %%q in (list2) do start %%q & echo starting %%q... & goto exit
del list & del list2