Основная проблема, кажется, в промежутке между (% dir1% * .txt)
Это может быть
@ECHO off
title Test
set "dir1=C:\Users\Family\Desktop\Example"
:Start
cls
echo 1. test loop
echo 2. Quit
set /p choice=I choose (1,2):
if %choice%==1 goto test
if %choice%==2 exit
:test
cls
echo running loop test
FOR %%X in ("%dir1%\*.txt") DO echo %%~dpnX
echo Done
pause
Кавычки предназначены для избежания проблем с пробелами или другими специальными символами в пути.
EDIT:
%%~dpnX
предназначен для расширения имени файла %%X
до
d
= диск (C:)
p
= путь (\ Users \ Family \ Desktop \ Пример)
n
= имя файла (test1) (без расширения)
f
= полное имя файла (C: \ Users \ Family \ Desktop \ Example \ test1.txt).
Возможные модификаторы описаны здесь FOR /?