我是批處理文件的新手,無法將此處的最後一個步驟拼合在一起。我的目標純粹是在兩行文本之間插入'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