2013-02-08 4 views
1

내 텍스트의 모든 줄을 자체 변수로 가져와야합니다.배치에서 txt의 행을 어떻게 읽습니까? 그리고 어떻게 모든 변수를 변수에 넣을 수 있습니까?

텍스트 파일 :이처럼

TEMPLATE: Permission, Username, Password; 
Admin, Admin, Superflip; 
User, Mom, Hi; 

나는 그것의 자신의 변수에이 파일의 모든 라인을합니다. 가능한가?

+0

기본적으로 가변 배열을 만들고 싶습니까? – LittleBobbyTables

+0

은 고정 될 라인 수입니까? –

+0

질문을 해결 한 경우 최상의 대답을 선택하는 것을 잊지 마십시오. –

답변

5

다음은 작동합니다 ... 스크립트가 작동하는 방법

@echo off & setlocal enabledelayedexpansion 
set num=0 
::Change "File_Path" to where your file is. If it is in the same directory, just put the name. 
for /f "delims=" %%i in (File_Path) do (
    set /a num+=1 
    set line[!num!]=%%i 
) 

: 변수 numfor 루프에 사용하기 위해 설정됩니다. for 루프는 File_Path 파일의 각 줄에 line이라는 줄을 설정하고 끝에 숫자를 붙입니다.

이 스크립트는 배열 생성을 에뮬레이션합니다. 특정 회선을 호출하려면 %line[number_of_line]%을 입력하십시오. 그 일을 훨씬 간단한 방법입니다

< filename.txt (
set /p line1= 
set /p line2= 
set /p line3= 
) 

을 : 예를 들어, line 3line 5이 같은 경우, 당신은 또한 단순히이 작업을 수행 할 수

if %line[3]%==%line[5]% echo Line 3 and 5 are the same. 
+0

+1,'for/f "delims ="%% i "로 변경하면, 전체 행은 – jeb

+0

+1로 저장되고 나중에 for/f로 토큰 = 1,2를 모두 얻을 수 있습니다 dellines == "%% a in ('set line') 에코 라인 %% a %% b' –

+1

다음과 같은 경우 표준 배열 표기법을 사용하는 것이 좋습니다 :'set line [! num!] = %% 나는'. http://stackoverflow.com/questions/10544646/dir-output-into-bat-array/10569981#10569981 – Aacini

1

같은 것을 넣어 것입니다 확인합니다.

+0

을 참조하십시오. 그러면 3 줄을 넘지 않습니다. :) –

관련 문제