- Elkha - Blue
- 오토핫키 커뮤니티
- 오토핫키
도와주세요..텍스트 한줄만 삭제
-
-
네 맞습니다 그 부분은 잘 되는데요
예를들어서 계속진행하다 100줄에서 정지 후 실행하면 다시 1번째 줄부터 읽어들이니
그러지말고 아예 1번째 줄부터 한줄 한줄 사용할때마다 txt파일 에서 한줄씩 한줄씩 삭제되는걸 원하는 겁니다
-
아.. 그런거라면
a = 0
loop, 횟수
{
a++
FileReadLine, idlist, id.txt, %a%
}
a = 0 이 변수에 끝난 횟수를 저장하게 하시면 되요;;;
아니면 100번째부터 시작하시려면 a = 100 하셔도 되고요;;; -
종료 후에 시작하면 변수 초기화 되지 않나요? ㅠㅠ
-
gui edit를 이용하셔서 숫자를 카운트해서 종료할 때 저장되게 하셔요;;;
다시 시작하실 땐 불러오기로 종료할 때 저장했던 텍스트를 변수로 불러오시면 되요;;
예)
gui edit ... v텍스트
gui button ... g저장하기
gui button ... g불러오기
저장하기:
gui, submit, nohide
FileAppend, %텍스트%\, %A_ScriptDir%\파일.txt
불러오기:
FileRead,변수,텍스트파일
gui, submit, nohide
GuiControl,,텍스트,%변수%이렇게요.. 그러면 종료하시기전에 저장하시고
새로 시작하실 때 불러오기 하시면 이어서 되고요..
gui 이용하지 않으시려면
a 변수만 따로 종료하시전에 저장되게 하시고.. 시작하실때 불러오기만 하셔도 될거 같아요;예)
저장
FileAppend, %a%\, %A_ScriptDir%\파일.txt
불러오기
FileRead,b,파일.txt
b=a
loop
{
FileReadLine, idlist, id.txt, %a%
}
-
FileReadLine으로 맨 윗줄을 변수 A에 불러옵니다
그리고 FileRead로 전체 텍스트도 변수 B로 불러옵니다
변수 A를 붙여넣습니다
변수 A 끝에 개행문자를 붙여 다시 A로 정의 합니다
(개행 문자는 `r`n입니다.. 아니면 `n하나만 써야하나..... 해보면서 고르면 될거같네요)
StringReplace명령을 사용해서 변수B 에서 변수 A를 삭제합니다 (변수A를 공란으로 대체하면되겠죠..공백아니고 공란.. 설명이 어렵넹;;;)
원본 txt파일을 filedelete로 삭제합니다
변수B를 Fileappend명령어로 원본txt파일과 동일 경로 동일 파일명으로 생성합니다
위 내용 반복~ 하심됩니다
원하시는 답변은 아니지만 저도 그런 고민을 해본적이 있어서
아래처럼 해결했습니다.
loop, read, 파일명
으로 텍스트파일읽어서
A_LoopReadLine 으로 한줄씩 차례로 읽어 오는게 낫지 않을까요;;;
아니면 loop문을 써서 아래처럼 한줄씩 읽어들이는게 효율적일거 같습니다.
FileReadLine, 변수, 파일이름, 읽어올줄수
예)
a = 0
loop, 횟수
{
a++
FileReadLine, idlist, id.txt, %a%
}