2014-02-18 4 views
0

write a batch file to get a directory of text files/ search for a specific token and insert a line after that에 해결 된 문제의 하위 집합 인 문제가 있습니다.변형 파일을 텍스트 파일에 삽입합니다.

폴더에서 여러 텍스트 파일을 읽어야합니다. 각 텍스트 파일에 대해 "Corolla"와 같은 특정 토큰을 찾고 토큰 다음에 변형이있는 새 행을 삽입하십시오.

first line 
second line 
a part of third line, Corolla, third line remaining 
INSERT THE NEW LINE Number 1 HERE 
a part of forth line, Corolla, firth line remaining 
INSERT THE NEW LINE Number 2 HERE 
The rest of file. 

을뿐만 아니라 폴더에 다른 파일이 작업을 수행 텍스트 파일 같은 가정하자. 또한 각 파일에 대해 변형을 다시 설정하지 않기를 바랍니다. 변형 3.

에서 비 변형 버전에 대한 해결책을 시작해야하므로 화관이 두 번째 파일에서 찾을 수 있다고 가정하는 것입니다 :

@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 
    echo %%h|findstr "Corolla" >nul&if not errorlevel 1 (
     echo THE NEW LINE 
    ) 
))>"%DstFolder%\%%~nxa" 
) 

그러나 나는뿐만 아니라 변형을 추가해야합니다.

감사

답변

1
@echo off 
set SrcFolder=C:\Input 
set DstFolder=C:\Output 
set Variant=0 
for %%a in ("%SrcFolder%\*.txt") do (
    (for /f "usebackq delims=" %%h in ("%%a") do (
    echo.%%h 
    echo %%h|findstr "Corolla" >nul&if not errorlevel 1 (
     set /a "Variant+=1" 
     setlocal enabledelayedexpansion 
     echo THE NEW LINE !Variant! 
     endlocal 
    ) 
))>"%DstFolder%\%%~nxa" 
) 
+0

감사합니다 .. 잘 작동합니다. – Bipario

+0

새로운 질문 : "DstFolder"에 새 파일을 저장하는 대신 파일을 새로운 것으로 바꿀 수 있습니까? – Bipario

+1

@Bipario, 외부'for' 루프의 닫는 괄호 바로 앞에있는 @Bipario,'move/y "% DstFolder % \ %% ~ nxa" "%% ~ fa"' –

관련 문제