2016-10-20 2 views
0

내가 좋아하는, 비슷한 선이 텍스트 파일이 있습니다지정된 문자 사이의 각 줄에서 문자열을 가져 오는 방법은 무엇입니까?

what to do: do something; when to do: now 
what to do: drink; when to do: always 
what to do: eat; when to do: sometimes 
what to do: laugh a lot; when to do: always 

가 나는 각 라인에서 모든 "what to do"문자열을 얻을 수 있습니다 배치 스크립트를 원하는을, 그래서 출력은 같은 것입니다 :

do something 
drink 
eat 
laugh a lot 

그래서이 단어는 각 줄에 "what to do:"과 "; when to do"문자열 사이에서옵니다. (또는 "what to do:"과 ";"사이)

많은 감사!

+1

[for] (http://ss64.com/nt/for_f.html)은 친구입니다. – Stephan

+0

지금까지 무엇을 시도 했습니까? 어디서 붙어 있습니까? 해당 게시물을 [편집] (http : //stackoverflow.com/posts/40155169/edit)하고 노력을 공유하십시오! 그렇지 않으면이 질문은 너무 광범위합니다 ... – aschipfl

답변

1

이 시도 :

@echo off 
for /f "tokens=2 delims=:;" %%a in (YourFile.txt) do echo %%a 

당신은 또한 마지막 요소 (지금, 때로는항상, )을해야하는 경우

@echo off 
for /f "tokens=2,4 delims=:;" %%a in (log.txt) do echo %%a -^> %%b 
0

하나의 옵션 :

@Echo Off 
Set "IFN=myfile.txt" 
Set "TTF=what to do: " 
For /F "Delims=" %%A In ('Find "%TTF%"^<%IFN%') Do Call :Sub %%A 
Timeout -1 1>Nul 
Exit/B 

    :Sub 
    Set _=%* 
    Call Set SFL=%%_:*%TTF%=%% 
    Set SFL=%SFL:; =&:% 
    Echo=%SFL% 

두 번째 줄과 세 번째 줄에서만 적절하게 변경하십시오.이 경우 줄 3의 끝에있는 중요한 공간을 주목하십시오.

관련 문제