2013-02-15 3 views
0

이 배치 파일을 설정하여 텍스트 파일 의 행을 따라 라인을 읽으려고합니다.일괄 파일은 공백 사이의 라인 설정 값을 읽습니다.

for /f "tokens=* delims= " %%a in (RawData.txt) do (
set /a N+=1 
set v!N!=%%a 
) 

예를 들어 읽었던 라인은이 라인을 따라 표시됩니다.

20120901 0:00 9 

나는 지금

value1 = 20120901 
value2 = 0:00 
value3 = 9 

그 안에 3 개 개의 문자열이있는 텍스트 파일에 모든 단일 라인을 가정 3 개 가지 값을 설정합니다. 2 개의 공백 사이에 값을 설정하고 싶습니다.

+1

FOR 설명서를 읽었습니까? (명령 프롬프트에서'HELP FOR'을 입력하십시오). "토큰"옵션을 적절하게 설정해야합니다. ' "tokens = 1,2,3"'은'% a''% b'과'% c'에 값을 부여합니다. ' "tokens = 2"'는'% a'에 2 번째 값을줍니다. – dbenham

답변

0

당신은 이미 꽤 가깝습니다.

@echo off 
setlocal enabledelayedexpansion 
set N=0 
for /f "tokens=1-3" %%a in (RawData.txt) do (
    set /a N=!N!+1 
    call set v!N!=%%a 
    set /a N=!N!+1 
    call set v!N!=%%b 
    set /a N=!N!+1 
    call set v!N!=%%c 
) 

라고 생각합니다. 나는 그것을 시험하지 않았다. RawData.txt의 첫 번째 줄에는 %v1%에서 %v3%, 두 번째에는 %v4%에서 %v6까지 끝납니다.