[go] Go 언어의 경로를 이용한 파일 자동 정리

파일 시스템을 다루기 위한 언어로 Go를 이용하여 간단하게 파일을 자동으로 정리하는 프로그램을 작성할 수 있습니다. 이번 글에서는 Go를 사용하여 특정 디렉토리 내의 파일들을 자동으로 분류하고 정리하는 방법에 대해 알아보겠습니다.

필요한 패키지 가져오기

먼저, 파일 시스템을 다루기 위해 ospath/filepath 패키지를 가져와야 합니다. 해당 패키지들을 이용하여 디렉토리를 읽고, 파일들을 이동하거나 복사하는 작업을 수행할 수 있습니다.

import (
    "os"
    "path/filepath"
)

파일 정리하는 함수 작성하기

이제 디렉토리를 읽고 파일들을 분류하고 정리하는 함수를 작성해보겠습니다. 아래는 간단한 예제 코드입니다. organizeFiles 함수는 지정된 디렉토리 내의 파일들을 분류하여 정해진 경로로 이동시키는 기능을 수행합니다.

func organizeFiles(sourceDir string, destinationDir string) error {
    err := filepath.Walk(sourceDir, func(path string, info os.FileInfo, err error) error {
        if err != nil {
            return err
        }
        if !info.IsDir() {
            // 파일을 분류하는 로직 추가
            // ...
            // 파일 이동 및 복사 로직 추가
            // ...
        }
        return nil
    })
    return err
}

파일 분류 및 이동 로직 추가하기

위의 코드에서 // 파일을 분류하는 로직 추가// 파일 이동 및 복사 로직 추가 부분에 실제로 파일을 분류하고 이동시키는 로직을 작성해야 합니다. 예를 들어, 파일의 확장자를 기준으로 분류하여 각각의 디렉토리로 이동시킬 수 있습니다.

예를 들어, .txt 파일을 txtFiles 디렉토리로, .jpg 파일을 imageFiles 디렉토리로 이동시키는 것과 같이 간단한 분류 및 이동 로직을 추가할 수 있습니다.

완성된 파일 정리 프로그램 실행하기

위에서 작성한 organizeFiles 함수를 이용하여 실제로 파일 정리 작업을 수행할 수 있습니다. 아래는 main 함수에서 해당 함수를 호출하는 예제 코드입니다.

func main() {
    sourceDir := "/path/to/sourceDir"
    destinationDir := "/path/to/destinationDir"
    err := organizeFiles(sourceDir, destinationDir)
    if err != nil {
        fmt.Println("파일 정리 중 오류가 발생했습니다:", err)
    } else {
        fmt.Println("파일 정리가 완료되었습니다.")
    }
}

마치며

위의 예제 코드를 응용하여 파일 정리 프로그램을 작성해보세요. 파일 시스템을 다루는 작업은 신중히 해야하며, 이 글의 내용을 참고하여 안전하고 효율적인 파일 정리 프로그램을 개발하시기를 바라겠습니다.

참고 자료: