使用批处理文件添加一行文本

时间:2015-12-11 16:43:17

标签: batch-file

我是批处理文件的新手,无法将最后的步骤拼凑在一起。我的目标纯粹是在两行文本之间插入'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

2 个答案:

答案 0 :(得分:2)

@echo off
setlocal EnableDelayedExpansion

ren test.txt in.tmp
< in.tmp (

   set /P "line1="
   echo !line1!

   set /P "line2="
   echo Test4

   rem Copy the rest of lines
   findstr "^"

) > test.txt
REM del in.tmp

编辑添加了输出示例

C:\> type test.txt
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE ProductDataeXchangePackage [
1
2
3

C:\> test.bat

C:\> type test.txt
<?xml version="1.0" encoding="UTF-8" ?>
Test4
<!DOCTYPE ProductDataeXchangePackage [
1
2
3

答案 1 :(得分:0)

你可以采取一种方式。

$("html, body").animate({scrollTop: $(window).scrollTop() + 400} , 1000);