我需要从文本文件中读取一个值,并使用批处理命令将该值放在XML文件的标记之间。
文本文件。的text.txt
输入:
First 10
Second 13
Intersection aktivieren
输出文件:data.xml
<First>10</First>
<Second>13</Second>
答案 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>
。
以下批处理文件代码可用于仅处理First
或Second
(不区分大小写)作为第一个空格/制表符分隔字符串的行。
@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"
)
)