2012-05-14 4 views

답변

4

아마도 findstr 명령은 도움이 될 것입니다 : Findstr Help. 숫자를 인쇄하지는 않지만 결과로 무엇인가 할 수 있습니다.

업데이트 : Find command에는 /c 옵션이 있습니다.이 옵션은 해당 문자열을 포함하는 행 수를 계산합니다.

3

멀 모스의 답이 좋으며 일반적으로 문제를 해결해야합니다.

하지만 토큰을 이해할 수 없으므로 설명해 보겠습니다.

FOR/F 명령을 사용하여 파일의 내용을 읽을 수 있습니다.
FOR/F은 파일을 한 줄씩 읽습니다. 각 빈 줄은 건너 뛰고 EOL- 문자 (기본값은 ;)로 시작하는 모든 줄도 건너 뜁니다.

기본값 인 tokens=1 delims=<TAB><SPACE> EOL=;을 사용합니다.
이 경우 줄 끝까지 또는 첫 번째 SPACE 또는 TAB까지 항상 하나의 토큰이 있습니다.

for /F "tokens=1" %%a in (myFile.txt) do (
    echo token1=%%a 
) 

토큰을 더 읽으려면 정의해야합니다. 다음 토큰이 비어있는 라인에 덜 delims이있는 경우

for /F "tokens=1,2,3,4" %%a in (myFile.txt) do (
    echo token1=%%a token2=%%b token3=%%c token4=%%d 
) 

이제 선은 구분 기호 (SPACE 또는 TAB)에서 네 개의 토큰으로 분할합니다.

토큰이 여러 개 없거나 특정 토큰 뒤에 나머지 행이있는 경우 *을 사용할 수 있습니다.
tokens = 1,2,3,4 * "%% a in (myFile.txt) do ( ) echo token1 = %% a 토큰 2 = %% b 토큰 3 = %% c 토큰 4 = %% d )

이제 token4에서 네 번째 토큰 및 나머지 줄이됩니다. 하나의 토큰이 존재하는이 경우 (%%a) 다른 사람 (%%b%%c%%d)에서

for /F "tokens=1*" %%a in (myFile.txt) do (
    echo token1=%%a token2=%%b token3=%%c token4=%%d 
) 

는 유효한 토큰이 아닌 텍스트 token2=%b token3=%c token4=%d가 반향됩니다.

delim을 사용하여 모두를 하나의 토큰으로 축소 할 수도 있습니다. /F에 대한 "delims ="%% A의 (MYFILE.TXT) 할 ( 은 = 전체 라인을 에코 %% )이, 작동

등이 할 수있는 단 하나의 토큰, 모든 문자가 아니므로 선을 더 많은 토큰으로 분할합니다.

관련 문제