메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

Autoit 폴더에서 문자열 포함된 파일 찾기

데브카페
Devcafe (토론 | 기여)님의 2025년 6월 30일 (월) 00:12 판 (새 문서: = AutoIt 문자열 포함 파일 검색 프로그램 예제 = * 특정 폴더(및 하위폴더)의 모든 텍스트 파일(.txt)에서 사용자가 입력한 문자열이 포함된 파일을 찾아 목록을 보여주는 프로그램 == 코드 == <source lang=autoit> #include <File.au3> #include <Array.au3> Global $sFolder = InputBox("폴더 선택", "검색할 폴더 경로를 입력하세요:", @ScriptDir) If Not FileExists($sFolder) Then MsgBox(16, "오류", "해당...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

AutoIt 문자열 포함 파일 검색 프로그램 예제

  • 특정 폴더(및 하위폴더)의 모든 텍스트 파일(.txt)에서 사용자가 입력한 문자열이 포함된 파일을 찾아 목록을 보여주는 프로그램

코드

<source lang=autoit>

  1. include <File.au3>
  2. include <Array.au3>

Global $sFolder = InputBox("폴더 선택", "검색할 폴더 경로를 입력하세요:", @ScriptDir) If Not FileExists($sFolder) Then

   MsgBox(16, "오류", "해당 폴더가 존재하지 않습니다.")
   Exit

EndIf

Global $sFind = InputBox("문자열 입력", "검색할 문자열을 입력하세요.") If $sFind = "" Then

   MsgBox(48, "알림", "검색할 문자열을 입력하지 않았습니다.")
   Exit

EndIf

Global $aTxtFiles _FileListToArrayRec($sFolder, "*.txt", $FLTAR_FILES, $FLTAR_RECUR, $FLTAR_NOSORT, $aTxtFiles)

If @error Then

   MsgBox(64, "결과", "해당 폴더(및 하위폴더)에 텍스트 파일이 없습니다.")
   Exit

EndIf

Global $aResult[1] = [0] For $i = 1 To $aTxtFiles[0]

   Local $sFile = $aTxtFiles[$i]
   Local $hFile = FileOpen($sFile, 0)
   If $hFile = -1 Then ContinueLoop
   Local $sContent = FileRead($hFile)
   FileClose($hFile)
   If StringInStr($sContent, $sFind) > 0 Then
       _ArrayAdd($aResult, $sFile)
   EndIf

Next

If UBound($aResult) = 1 Then

   MsgBox(64, "검색 결과", "검색한 문자열이 포함된 파일이 없습니다.")

Else

   _ArrayDisplay($aResult, "검색 결과 - " & ($aResult[0]) & "개 파일 발견", "", 0, Default, "파일 경로")

EndIf </autoit>


특징 및 참고사항

  1. 상단에 입력창이 두 번 나타나며, 첫 번째 창에서 폴더 경로, 두 번째 창에서 검색 문자열을 입력합니다.
  2. 해당 폴더(하위폴더 포함)의 **모든 .txt 파일**을 탐색하여, 입력한 문자열이 포함된 파일 전체 경로 목록을 표(리스트박스)로 보여줍니다.
  3. 내장 AutoIt 함수만 사용하므로 별도의 외부 라이브러리 설치 없이 바로 동작합니다.
  4. 검출된 파일이 없으면 "검색한 문자열이 포함된 파일이 없습니다."라는 메시지가 출력됩니다.

추가설명

  1. `StringInStr` 함수로 대소문자를 구분합니다.
  2. 대소문자를 무시하고 싶으시면 `StringInStr($sContent, $sFind, 2)`로 인자를 추가하시기 바랍니다.
  3. 파일 포맷을 추가하고 싶다면 `*.txt` 부분을 수정하세요(예: `*.log;*.md`)

추가적으로 기능 확장이나 사용자 인터페이스 개선이 필요하시면 언제든 문의해 주시기 바랍니다.

Comments