For ループの外で変数を使用しようとしています。ループ内のエコーは、期待どおりの結果をもたらします。ループの外側で変数をエコーすると機能しません。以下はスクリプトです-
'SETLOCAL ENABLEDELAYEDEXPANSION
SET x=0
FOR /f "tokens=*" %%a in ('dir "%InPath%*_Out.txt" /b') DO (
SET /a x+=1& SET /a cnt+=1& SET Fname%x%=%%a& SET FDate%x%=!Fname%x%:~0,8!
ECHO %x% !cnt! !Fname%x%! !Date%x%!
)
set z=3
ECHO !FDate%z%! `