Si te he entendido bien quieres un BAT que revise todos los archivos de un tipo (en tu caso, con extensión XML) existentes en una carpeta y elimine de ellos una línea concreta (digamos la que contiene un texto a definir).
Para eso podría servir este BAT:
@echo off
Setlocal EnableDelayedExpansion
set carpeta=d:\carpeta prueba\AAAAA
set texto=schemaLocation
pushd %carpeta%
for /f "tokens=*" %%a in ('dir /b *.xml') do call :tratarch "%%a"
popd
goto :eof
:tratarch
echo tratando archivo %1
set grabar=N
del /q tmp.txt>nul 2>&1
for /f "usebackq tokens=*" %%x in (%1) do (
echo %%x^^|find "%texto%" || set grabar=S
if "!grabar!"=="S" echo %%x>>tmp.txt&set grabar=N
)
Echo copy /y tmp.txt %1
El COPY final está precedido de un ECHO para que se vea el comando que se ejecutaría pero no se ejecute (porque reescribiría el archivo original). He incluido una línea para que vaya mostrando los archivos que está tratando
El problema es que los BAT no "se llevan bien" con las líneas de los archivos XML, yo creo que la causa de ello es que el "lenguaje de programación BAT" no es "transparente" al contenido de las líneas y determinados caracteres muy presentes en esos archivos (especialmente los caracteres "<" y ">") impiden que se traten adecuadamente las líneas que los contienen.
Puedes probar con otro tipo de archivos de texto puro si quieres hacerte una idea del funcionamiento pero, insisto, no creo que puedas conseguirlo con un BAT si los archivos son XML. Sin embargo probablemente si que podrías hacerlo con PowerShell (PS). Si te interesa puedo intentar hacer algo parecido en PS aunque no soy muy experto en esa shell.