FileReadLine

파일로부터 특정 줄을 읽어서 그 텍스트를 변수에 저장합니다.

FileReadLine, OutputVar, Filename, LineNum

매개변수

OutputVar

The name of the output variable in which to store the retrieved text.

Filename

접근할 파일의 이름. 절대 경로를 지정하지 않으면 %A_WorkingDir%에 있다고 간주됩니다. Windows 그리고 Unix 포맷이 지원됩니다; 즉, 파일의 줄은 캐리지 리턴과 라인피드 (`r`n) 또는 그냥 라인피드 (`n)로 끝납니다.

LineNum

읽을 줄 번호 (1이면 첫 줄, 2이면 두 번째, 등등). 이것은 표현식일 수 있습니다.

지정된 줄 번호가 파일의 줄 개수보다 크면, ErrorLevel은 1이 설정되고 OutputVar는 바뀌지 않습니다. 이것은 또한 지정된 줄 번호가 파일의 마지막 줄이지만 그 줄이 비어 있고 새줄/CRLF로 끝나지 않은 경우에도 일어납니다.

에러 처리

[v1.1.04+]: 이 명령어는 실패하면 예외를 던질 수 있습니다. 더 자세한 정보는 실행시간 에러를 참조하십시오.

ErrorLevel은 성공하면 0이 설정됩니다. 그렇지 않으면 1이 설정되고 OutputVar의 원래 내용도 바뀌지 않습니다.

A_LastError는 운영 체제의 GetLastError() 함수의 결과가 설정됩니다.

논평

이 명령어는 작은 파일들에만 사용할 것을 강력 권합니다. 또는 한 줄의 텍스트만 필요한 경우에 사용하십시오. 방대한 개수의 줄을 스캔하고 처리하려면 (한 줄씩), 최고의 수행성을 위해 파일-일기 회돌이를 사용하십시오. 전체 파일을 변수 안으로 읽어 들이려면, FileRead를 사용하십시오.

줄에서 선두와 후미의 탭과 스페이스는 OutputVar에 씌여지겠지만, 줄 끝의 라인피드 문자 (`n)는 그렇지 않습니다. 탭과 스페이스는 변수 양끝으로부터 걷어낼 수 있습니다. AutoTrim이 켜져 있는 (기본값) 상태에서 할당하면 됩니다. 예를 들어: MyLine = %MyLine%.

65,534 문자 길이 까지 줄을 읽을 수 있습니다. 줄 길이가 이 제한을 초과하면, 나머지 문자들은 다음 명령어로 열람할 수 없습니다 (대신에 FileRead 또는 파일-읽기 회돌이를 사용하십시오).

FileOpen()/File.ReadLine(), FileRead, FileAppend, 파일-읽기 회돌이, IniRead

예제

Reads a text file line by line. Note that the same (but with better performance) can be achieved by using a file-reading loop.

Loop
{
    FileReadLine, line, C:\My Documents\ContactList.txt, %A_Index%
    if ErrorLevel
        break
    MsgBox, 4, , 줄 #%A_Index%는 "%line%"입니다.  계속할까요?
    IfMsgBox, No
        return
}
MsgBox, 파일 끝에 도달했습니다. 또는 문제가 있었습니다.
return