Als erstes Mal, solltest du dir angewöhnen, die richtige Version von deinem Skript für weiter Fragen zu benutzen ;)
Nun zur eigentlichen Frage
SETLOCAL ENABLEDELAYEDEXPANSION
SET cnt=1
FOR /F %%a IN ('dir %temp%\*.* /A-D /B') DO {
sendmail -f %choice1% -t %choice2% -s %choice3% -a "%%a"
ECHO !cnt!: %%a >>%temp%\report.txt
SET /A cnt=!cnt!+1
}
Das "Geheimnis" hierbei ist die erste Zeile und die Verwendung von ! anstatt %.
Damit sollte es denn eigentlich auch funktionieren, zumindest hat es das bei mir^^