例如
<AAA>
<BBB>1</BBB>
<CCC>C:\Program Files\findit\findit.exe< /CCC>
</AAA>
想要在</AAA>上边加入<DDD>C:\Program Files\findit\findit.exe </DDD> <EEE>C:\Program Files\findit\findit.exe </EEE>
实现效果如下
<AAA>
<BBB>1</BBB>
<CCC>C:\Program Files\findit\findit.exe< /CCC>
<DDD>C:\Program Files\findit\findit.exe </DDD>
<EEE>C:\Program Files\findit\findit.exe </EEE>
</AAA>
参考GPT和自己的思路:
您可以使用以下的代码来实现在指定行添加内容的功能:
@echo off
setlocal enabledelayedexpansion
set add1=<DDD>C:\Program Files\findit\findit.exe </DDD>
set add2=<EEE>C:\Program Files\findit\findit.exe </EEE>
set counter=1
set found=0
(for /f "tokens=* delims=" %%a in ('type input.xml') do (
if "!found!"=="1" (
echo !add1!
echo !add2!
set found=0
)
echo %%a
if "%%a"=="</AAA>" (
set found=1
)
)) > output.xml
其中,add1
和add2
是你想要添加的内容,counter
用于计数行数,found
用于标记是否找到指定行。for循环用于遍历输入文件,如果找到指定行,则在该行的上方添加add1
和add2
,否则将该行原封不动地输出,并在找到指定行的情况下将found
标记为1。最终输出到输出文件output.xml
。
需要注意到,在此代码中,你需要将input.xml
替换为你的.xml文件名。