- Você precisa da expansão atrasada ou de uma sub-rotina para ler o conteúdo do arquivo em um var e imprimir apenas a última linha.
- Seus estados em lote para criar
%1
, mas você usa Status.csv
.
- seu lote (fragmento) está faltando alguns parênteses de fechamento.
@ECHO OFF & Setlocal EnableDelayedExpansion
If "%~1"=="" (Echo no output file provided & pause & exit /B 1)
ECHO Creating %1...
SET "sourcedir=C:\Users\User01\Documents\temp"
( Echo File,Lastline
For /f "Delims=" %%G IN ('DIR /B /a-d "%sourcedir%\*.txt"') DO (
For /f "usebackq tokens=*" %%a in ("%sourcedir%\%%~G") do Set "Line=%%a"
Echo %%G,!Line!
)
) > "%~1"