我应该可以做到这一点,但我认为大脑今天已经受够了:~(
我有一个以下格式的文件(已经包含值):
Server=\\servername\sharepath
Username=server\user
Password=passwdval
我需要读取这些值并将这些值插入到以下文件中(如下所示):
<SHARE>\\servername\sharepath</SHARE>
<DOMAIN>server</DOMAIN>
<USER>user</USER> <UPWD>passwdval</UPWD>
这必须通过批处理/cmd 文件来完成。
答案1
只需回显您的文本并用插入<>
符号^<
和转义所有内容^>
。
读取您的输入文件并在等号处使用 for /f 拆分为%%A/%%B
。
您必须使用另一个 for /f 将用户名拆分为 DOMAIN 和 USER %%C/%%D
。
:: Q:\Test\2017\09\14\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%"
示例输出:
> type SU_1250115.xml
<SHARE>\\servername\sharepath<SHARE>
<DOMAIN>server</DOMAIN>
<USER>user</USER>
<UPWD>passwdval<UPWD>