이번 강에 배울 File관련 구문은 컴퓨터의 파일(특히 텍스트 파일)을 다룹니다. 파일을 다루는 명령어는 많지만, 우리는 파일을 쓰고, 지우고, 읽는 명령어만 66, 67강에서 배우도록 하겠습니다.

 

이번 강에서는 그 중에서 파일을 쓰고, 지우는 FileAppend와 FileDelete를 배우겠습니다.

 


 파일을 쓰는 FileAppend 

FileAppend는 텍스트 파일의 끝에 문자를 써주는 명령어입니다. 만약 파일이 없다면 파일을 새로 만들어서 문자를 작성해줍니다.

 

FileAppend [, Text, Filename, Encoding]

매개변수는 위와 같습니다.

  • Text: 작성 할 내용입니다.
  • FileName: 파일의 경로를 포함한 텍스트 파일의 이름입니다. 경로에 해당 파일이 없다면 파일을 생성합니다.
  • Encoding: 작성 할 문자의 인코딩입니다. 보통 생략하는 경우가 많으나, 특정 문자가 깨질 시 UTF-16이나 UTF-8 등을 써주시면 됩니다.

예시를 드는 것이 낫겠지요. 아래처럼 스크립트를 작성해봅시다. 이번엔 특별히 바탕화면에 폴더를 만든 후, 해당 폴더에 스크립트 파일을 만들어주세요. (파일의 생성 위치를 감으로 익히는 과정입니다.)

 

FileAppend, 안녕하세요, 인사.txt

66강_1.ahk
0.00MB

스크립트를 실행하니 인사.txt 파일이 생성되었습니다.

 

인사.txt의 내용은 안녕하세요로 적혀있네요. 스크립트에 써 준 그대로입니다.

여기서 한 번 더 스크립트를 실행시켜 보겠습니다.

안녕하세요 뒤에 안녕하세요가 한 번 더 써졌습니다. 메모장을 닫고, 스크립트의 내용을 아래처럼 바꾼 후 다시 실행시켜 보겠습니다.

FileAppend, `n이스케이프 시퀀스도 됩니다., 인사.txt

66강_2.ahk
0.00MB

우리가 배웠던 대표적인 이스케이프 시퀀스인 `n 또한 줄바꿈으로 정상 입력 됩니다.

 

마지막 스킬로, 여러 줄을 작성하고 싶으실 땐 아래처럼 (괄호)로 묶어서 써주실 수 있습니다. 이렇게 사용해주시면 이스케이프 시퀀스를 일일이 작성하지 않으셔도 됩니다. 비단 FileAppend 뿐만이 아닌, 대부분의 Text 매개변수는 이런 식으로 사용할 수 있습니다. (MsgBox의 Text 매개변수에서도 되냐고요? 네, 됩니다. 이건 직접 해보세요.)

FileAppend,
(
여러줄 입력
이런식으로
괄호로 묶어주면
이스케이프 시퀀스 없이도
여러 줄로 입력할 수 있습니다.
), 여러줄.txt

66강_3.ahk
0.00MB

 

참고로, FileName에 써주시는 파일 경로는 "상대 경로"입니다. 즉, File\File.txt로 쓰면 현재 스크립트가 있는 위치의 File폴더 안에 File.txt를 가리킵니다.

 

드라이브 문자 (C:, D: 등)을 사용해주시면 절대 경로로 입력할 수 있습니다.

 


파일을 삭제해주는 FileDelete

FileDelete는 말그대로 파일을 삭제해줍니다.

FileDelete, FilePattern
  • FilePattern: 삭제 파일의 패턴입니다. 

FilePattern 매개변수에는 파일의 경로를 써주시면 되고, 와일드 카드를 뜻하는 *를 이용하여 특정 규칙의 파일만 지울 수 있습니다. (그래서 FileName 매개변수가 아닌, FilePattern 매개변수입니다.)

 

*.txt
→ 모든 txt파일을 의미함 (예: abc.txt, 가나다.txt 등..)

text*.txt
→ 모든 text(문자).txt 파일을 의미함. (예: text1.txt, text2.txt, textA.txt, textxet.txt 등..)

 

지금까지 위에 있는 예제들을 모두 실행하셨다면 인사.txt파일과 여러줄.txt파일이 있을텐데요, 이를 FileDelete 명령어로 지워보겠습니다.

 

FileDelete, 인사.txt
FileDelete, 여러줄.txt

66강_4.ahk
0.00MB

아까 생성되었던 txt 파일이 지워지는 것을 볼 수 있습니다.

 


다음 강에선 파일 읽기를 배워보도록 하겠습니다.

 


| 66. FileAppend/Delete |