-3

好的,这里有一个文件 txt.txt

line1
line2
add after this line  blah blah blah
line4
etc
etc

我想在这一行之后添加一行,但我不知道同一行后面的内容add after this line

我想知道的是我必须在 [this] 代码中进行的所有更改

@ECHO OFF
SETLOCAL
SET /p info="enter info : "
:: read addafter line
(
FOR /f "delims=" %%i IN (poison1.txt) DO (
SET addafter=%%i
FOR /f "delims=" %%n IN (' findstr /n "^" txtfile.txt') DO (
SET line=%%n
SETLOCAL ENABLEDELAYEDEXPANSION
SET line=!line:*:=!
ECHO(!line!
IF "!line!"=="!addafter!" TYPE your_multiline_addition.txt
ENDLOCAL
)
)
)>newfile.txt

FC newfile.txt txtfile.txt

GOTO :eof

任何帮助深表感谢。

不知道如何在字符串操作中使用通配符

4

1 回答 1

0

你知道你的行包含什么 - 它在!line!
你知道你想找到什么 - 它在!addafter!

所以 - 找出是否!addafter!!line!所有你需要做的是

echo !line!|findstr "!addafter!" >nul
if errorlevel 1 (echo not found) else (echo found)

所以请阅读显示的文档

findstr /?

并计算出您需要用 ... 找到“开始”或“结束”的内容,是否需要不区分大小写以及是否需要将 search-for-me-string 用作文字或“正则表达式” "(注意默认情况下假定为正则表达式)以及是否要 * C *组合“带空格的字符串”或搜索“集合中的任何单词”而不 * C *将它们组合为单个字符串。

于 2013-04-14T10:28:21.337 回答