Batch-Datei 'for' Schleifen - mehrere Zeilen

Warum funktionieren die folgenden Zeilen in einer Batchdatei?

 for  %%a in ("C:\Test\*.txt") do set FileName=%%~a
 echo Filename is: %FileName%

Aber das wird nicht ?:

 for  %%a in ("C:\Test\*.txt") do (
     set FileName=%%~a
     echo Filename is: %FileName%
 )

Es ist, als würde die Variable "a" nicht in der zweiten Zeile beibehalten. Warum ist das so und wie verwende ich den Inhalt von "a" wie im zweiten Beispiel?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage