2011-09-10 2 views
1

새로운 배치입니다. 제 의도는 파일에서 모든 행을 읽는 일괄 처리를 작성하고 다른 작업을 수행 할 때 읽는 행에 따라 다릅니다. 여기에 또한배치 : 파일에서 읽은 행에 부분 문자열이 있는지 확인합니다.

@echo off 
setlocal enableextensions enabledelayedexpansion 

for /f "usebackq delims=" %%a in (test.txt) do ( 
    echo %%a 
    *if %%a contains abc do (other tasks)*   
) 

, 나는 배치에서 "줄 바꿈"을 감지 할 수있는 몇 가지 예입니다? TEST.TXT가 보이는 경우 :

123 
345 
abckdla 

abd 
abd 
abc 

test 

내가 인쇄 할 수있는 for 루프가 row4하고있는 test.txt의 row8에있다 "이것은 새로운 라인이다"??

시간을 내 주셔서 감사합니다.

답변

6

는 변수가 문자열을 포함하는 경우 게시물

1 .-의 두 가지 질문이 검사가 있습니다.

@echo off 
setlocal enableextensions enabledelayedexpansion 
for /f "tokens=*" %%a in (test.txt) do ( 
    set tst=%%a 
    set tst=!tst:ab=! 
    if not !tst!==%%a ( 
    echo %%a contains ab 
) else (
    echo %%a does not contain ab 
) 
) 

더 자세한 정보는 HELP SET를 참조하십시오.

2.- FOR 명령은 빈 줄을 건너 뜁니다. HELP FOR을 시도하고 "빈 줄을 건너 뜁니다"를 읽으십시오. 엄격히 필요한 경우를 제외하고는 피하려고 노력하는 예 : TYPEFIND과 같은 복잡한 솔루션이 있습니다.

+0

줄에 공백이 있으면이 작업이 안되는 것 같습니다 ... – tumchaaditya

관련 문제