подкину и я:
Код:

@echo off
set "d=C:\Papka"
set "ext=txt"
for /f "tokens=1* delims=[]" %%a in ('dir /a-d/b/s "%d%\*.%ext%"^|find /n /v ""') do set "$_%%a=%%b"
for /f "tokens=2* delims=_=" %%a in ('set $_') do echo Нажать: %%a [для выбора "%%~nxb"]
echo:& set /p n=
call :# "%%$_%n%%%"
pause>nul& exit
:#
echo Действия над: "%~1"
exit /b
можно и так, но менее красиво (или кому как)
Код:

@echo off
set "d=C:\Papka"
set "ext=txt"
for /f "tokens=1* delims=[]" %%a in ('dir /a-d/b/s "%d%\*.%ext%"^|find /n /v ""') do set "$_%%a=%%b"
for /f "tokens=2* delims=_=" %%a in ('set $_') do echo Нажать: %%a [для выбора "%%~nxb"]
echo:& set /p n=
call echo Действия над: "%%$_%n%%%"
pause>nul