Usa las etiquetas cuando postees un código  
- Que yo sepa no hay forma de liberar memoria manualmente desde la CMD, Aunque he buscado un poco y supuestamente esto te debería servir:
- Para intentar agilizar la tarea del bat probemos por evitar la expansión y evitar el uso de otros comandos innecesarios:
(No puedo probar el bat debido a que no tengo el "dat.txt", Si he cometido alguna errata corrigelo tú mismo, Aqui tienes la idea)
Salu2
			
- Que yo sepa no hay forma de liberar memoria manualmente desde la CMD, Aunque he buscado un poco y supuestamente esto te debería servir:
Código (dos) [Seleccionar] 
rundll32.exe advapi32.dll,ProcessIdleTasks- Para intentar agilizar la tarea del bat probemos por evitar la expansión y evitar el uso de otros comandos innecesarios:
(No puedo probar el bat debido a que no tengo el "dat.txt", Si he cometido alguna errata corrigelo tú mismo, Aqui tienes la idea)
Código (DOS) [Seleccionar] 
@Echo OFF
echo a;^<?linea de cabecera?^>a;        >> "exi1_dat.txt"
echo Reporte de creacion de BD   | MORE  > "repo_bd.txt"
echo Fecha y hora: %date% %time% | MORE >> "repo_bd.txt"
for /F "tokens=1-10 delims=;" %%a in (dat.txt) do (
     if exist %%a (
	Call :ContA
	REM No estás manipulando esta variable ## set aut=%%b
	REM No estás manipulando esta variable ## set tit=%%c
	echo a; ^<primer dato="%%a"^>;a                           >> "exi1_dat.txt"
	echo a;  ^<cuarto a octavo dato=%%d %%e %%f %%g %%h /^>;a >> "exi1_dat.txt"
	echo a;  ^<decimo dato^> %%j ^<^>;a                       >> "exi1_dat.txt"
	echo a;  ^<noveno dato %%i /^>;a                          >> "exi1_dat.txt"
	echo a;  ^<otro dato primero=%%a /^>;a                    >> "exi2_dat.txt"
     ) else (
	echo %%a >> "repo1_bd.txt"
	Call :ContB
     )
)
echo a; ^<linea final^>;a >> "exi2_dat.txt"
REM uniendo en uni.txt
for /F "tokens=1-3 delims=;" %%a in (exi1_dat.txt) do (
   REM echo %%b
   echo %%b>> "uni.txt"
   )
   
for /F "tokens=1-3 delims=;" %%a in (exi2_dat.txt) do (
   REM echo %%b
   echo %%b>> "uni.txt"
   )
ren "uni.txt" "Base de datos.xml"
del "exi*.txt"
echo.                                                   >> "repo_bd.txt"
echo Numero de registros en BD:         %conta% | MORE  >> "repo_bd.txt"
echo Numero de registros eliminados:    %contb% | MORE  >> "repo_bd.txt"
echo registros eliminados:                              >> "repo_bd.txt"
copy "repo_bd.txt" + "repo1_bd.txt" "reporte_bd.txt"
echo.                >> "reporte_bd.txt"
echo Fin del reporte >> "reporte_bd.txt"
del "repo_bd.txt"; "repo1_bd.txt"
pause
exit
:ContA
set /A conta+=1
Goto :Eof
:ContB
set /A contb+=1
Goto :EofSalu2
