我是批处理文件的新手,无法将此处的最后一个步骤拼合在一起。我的目标纯粹是在两行文本之间插入'Test4'。文本永远不会改变,始终是第1行和第3行(第2行在文本文件中为空白)。该代码删除第2行(空白),但不插入文本。使用批处理文件添加文本行
当前txt文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE ProductDataeXchangePackage [
1
2
3
当前批处理脚本:你能做到这一点
rem Saved in D:\Temp\WriteText.bat
echo off
setlocal enabledelayedexpansion
ren test.txt in.tmp
set p=
for /f "delims=" %%a in (in.tmp) do (
if "%%a"=="<!DOCTYPE_ProductDataeXchangePackage+[" if "!p!"=="<?xml version="1.0" encoding="UTF-8" ?>" Echo Test4 >> test.txt
Echo %%a >>test.txt
set p=%%a
)
del in.tmp
它删除我原来的text.txt文件。不知道删除前是否有效。 – user3158712
@ user3158712,您的代码中没有名为text.txt的文件,也没有在我的代码中。但是,如果你指的是test.txt,那么当然。您正在将test.txt重命名为in.tmp。 – Squashman
对不起,我感到困惑。我的意思是test.txt;但是,我不想将test.txt重命名为in.tmp,相反,只需在第1行(<?xml version =“1.0”encoding =“)之间插入'test4' UTF-8“?>)和第3行(<!DOCTYPE ProductDataeXchangePackage [))。老实说,我不知道我是将test.txt重命名为in.tmp – user3158712