这里有一个文件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
非常感谢任何帮助。
不知道如何在字符串操作中使用通配符
答案 0 :(得分:0)
你知道你的行包含什么 - 它在!line!
中
你知道你想要找到什么 - 它在!addafter!
所以 - 要查找!addafter!
是否在!line!
中,您需要做的就是
echo !line!|findstr "!addafter!" >nul
if errorlevel 1 (echo not found) else (echo found)
请阅读
所示的文档findstr /?
找出你需要找到的“开始”或“结束”......,无论你是否需要不区分大小写以及是否需要使用search-for-me-string作为文字或者“正则表达式”(注意默认情况下为REGULAR EXPRESSION)以及是否要* C * ombine“带空格的字符串”或搜索“集合中的任何单词”而不使用* C *将它们组合在一起作为单个字符串。