首页 > 解决方案 > 在 TXT 文件中添加一行。蝙蝠

问题描述

亲爱的:

我有以下代码,在同一个 txt 文件中的每个创建的“单词”下面添加一行“NEW”。

@echo off


SETLOCAL ENABLEDELAYEDEXPANSION

set inputFile=C:\Users\msomma\Desktop\Nueva carpeta\test.txt
set outputFile=C:\Users\msomma\Desktop\Nueva carpeta\testSOout.txt
set _strInsert=NEW
set _strFind=WORD
set i=0

FOR /F "usebackq tokens=1 delims=[]" %%A IN (`FIND /N "%_strFind%" "%inputFile%"`) DO (set _strNum=%%A)
FOR /F "usebackq delims=" %%A IN ("%inputFile%") DO (
  set /a i = !i! + 1
  ECHO %%A>>"%outputFile%"
  IF [!i!] == [%_strNum%] (
    ECHO %_strInsert%>>"%outputFile%"
   "
  )
)
END

但工作不正常,我只在一个位置添加“NEW”,正是 /F 的第一个参数的位置。

有什么建议吗?多谢。

下面是 TEST.TXT 和结果 (TEXTSOOUT.TXT):

TEST.TXT:字 2 3 1 字 1 1 1

结果 (TEXTSOOUT.TXT):字 2 3 1 字新 1 1 1

标签: for-loop

解决方案


推荐阅读