从文本文件中提取特定单词后的单词,并将其放入特定标记之间的XML文件中

时间:2017-07-03 11:37:17

标签: xml batch-file command text-files

我需要从文本文件中读取一个值,并使用批处理命令将该值放在XML文件的标记之间。

文本文件。的text.txt

输入:

First 10
Second 13
Intersection aktivieren

输出文件:data.xml

<First>10</First>
<Second>13</Second>

1 个答案:

答案 0 :(得分:0)

此任务的一个可能的批处理代码是:

@echo off
if not exist "text.txt" goto :EOF
del "data.xml" 2>nul
for /F "usebackq tokens=1,2" %%I in ("text.txt") do echo ^<%%I^>%%J^</%%I^>>>"data.xml"

要了解使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。

  • del /?
  • echo /?
  • for /?
  • goto /?
  • if /?

另请阅读Microsoft有关Using Command Redirection Operators

的文章

必须使用插入符^对XML标记的尖括号进行转义,以将其解释为文字字符,而不是重定向运算符。

当然data.xml中的第三行是<Intersection>aktivieren</Intersection>

以下批处理文件代码可用于仅处理FirstSecond(不区分大小写)作为第一个空格/制表符分隔字符串的行。

@echo off
if not exist "text.txt" goto :EOF
del "data.xml" 2>nul
for /F "usebackq tokens=1,2" %%I in ("text.txt") do (
    if /I "%%I" == "First" (
        echo ^<%%I^>%%J^</%%I^>>>"data.xml"
    ) else if /I "%%I" == "Second" (
        echo ^<%%I^>%%J^</%%I^>>>"data.xml"
    )
)