批处理/命令从一个文件读取内容并在另一个文件中更新

批处理/命令从一个文件读取内容并在另一个文件中更新

我应该可以做到这一点,但我认为大脑今天已经受够了:~(

我有一个以下格式的文件(已经包含值):

 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>

相关内容