我需要从文件夹中读取一堆文本文件。为每个文本文件找到特定的标记,例如“Corolla”,并在标记后面插入一个新行。 假设文本文件如下:
first line second line a part of third line, Corolla, third line remaining INSERT THE NEW LINE HERE the rest of file.
我是批处理文件的新手,对我来说很有挑战性。
由于
部分答案:
我可以使用以下代码,但是如果整行都有该令牌,则此代码仅查找令牌。我还需要找到令牌,如果它也在某些句子之间(子串)!
@echo off
set SrcFolder=C:\Input
set DstFolder=C:\Output
for %%a in ("%SrcFolder%\*.txt") do (
(for /f "usebackq delims=" %%h in ("%%a") do (
echo.%%h
if "%%h" equ "Corolla" (
echo THE NEW LINE
)
))>"%DstFolder%\%%~nxa"
)
答案 0 :(得分:2)
取代
"%%h" equ "Corolla" (
(无论如何都会产生错误)
把
echo %%h|findstr "Corolla" >nul&if not errorlevel 1 (
在每一行中查找文字“花冠”,如果找到则将errorlevel
设置为0
。请勿尝试if errorlevel 0
,因为findstr
始终将errorlevel
设置为正整数,if errorlevel
的{{1}}测试测试为n 或大于n 强>