Simplesmente faça o eco do seu texto e escape de todo o <>
com um caret ^<
e ^>
.
Leia seu arquivo de entrada e divida no sinal de igual com um / f em %%A/%%B
.
Você precisa dividir o nome de usuário em DOMAIN e USER com outro para / f %%C/%%D
.
:: Q:\Test17\SU_1250115.cmd
@Echo off
Set "FileIn=SU_1250115.txt"
Set "FileOut=SU_1250115.xml"
( For /f "usebackq tokens=1* delims==" %%A in ("%FileIN%") Do (
If /i "%%A"=="Server" Echo:^<SHARE^>%%B^<SHARE^>
If /i "%%A"=="Username" for /f "tokens=1,2 delims=\" %%C in ("%%B") Do (
echo ^<DOMAIN^>%%C^</DOMAIN^>
echo ^<USER^>%%D^</USER^>
)
If /i "%%A"=="Password" echo ^<UPWD^>%%B^<UPWD^>
)
) >"%FileOut%"
Exemplo de saída:
> type SU_1250115.xml
<SHARE>\servername\sharepath<SHARE>
<DOMAIN>server</DOMAIN>
<USER>user</USER>
<UPWD>passwdval<UPWD>