|Yeh, batch can be kind of lame handling xml, but in this case, it seems like it should have worked since findstr was doing the heavy lifting, leaving batch only handling that one line. You might examine your xml file to see what kind of line-breaks it's using - maybe it's cr with no lf. You can use debug or edit /80 to see what it's using.|
OR, as per Razor's suggestion, vbscript (or another language) could do a readall and probably solve the problem:
'==== begin vbscript "xmlfind"
if wscript.arguments.count<1 then
wscript.echo "Usage: XMLFIND file.xml targetstring"
'remove lcase() from foll line to observe case in search
if point1=0 then
wscript.echo "NOT FOUND: string: "&targ
if point2>0 then
'===== end vbscript