[swift] Swift에서 특정 경로에 있는 모든 서브 디렉토리 삭제하기

Swift를 사용하여 특정 경로에 있는 모든 서브 디렉토리를 삭제하는 방법을 살펴보겠습니다. 이를 수행하기 위해서는 FileManager 클래스를 사용하여 파일 시스템 상에서 디렉토리를 삭제해야 합니다.

Contents

  1. 특정 경로에 있는 모든 서브 디렉토리 가져오기
  2. 서브 디렉토리 삭제하기

특정 경로에 있는 모든 서브 디렉토리 가져오기

먼저, 특정 경로에 있는 모든 서브 디렉토리를 가져오는 방법을 살펴보겠습니다. FileManager 클래스의 subpathsOfDirectory(atPath:) 메서드를 사용하면 특정 경로에 있는 모든 서브 디렉토리의 경로를 가져올 수 있습니다. 여기에는 주어진 경로에서 시작하여 모든 서브 디렉토리의 상대 경로가 포함됩니다.

다음은 해당 메서드의 사용 예시입니다.

import Foundation

let fileManager = FileManager.default
let directoryURL = URL(fileURLWithPath: "/Users/userName/Documents/exampleDirectory")

do {
    let subDirectories = try fileManager.subpathsOfDirectory(atPath: directoryURL.path)
    for subDirectory in subDirectories {
        print("Subdirectory: \(subDirectory)")
    }
} catch {
    print(error)
}

위의 코드는 지정된 디렉토리의 모든 서브 디렉토리를 가져와서 출력합니다.

서브 디렉토리 삭제하기

이제 가져온 서브 디렉토리를 삭제하는 방법을 알아보겠습니다. FileManager 클래스의 removeItem(atPath:) 메서드를 사용하여 디렉토리를 삭제할 수 있습니다.

다음은 해당 메서드의 사용 예시입니다.

import Foundation

let fileManager = FileManager.default
let directoryURL = URL(fileURLWithPath: "/Users/userName/Documents/exampleDirectory")

do {
    let subDirectories = try fileManager.subpathsOfDirectory(atPath: directoryURL.path)
    for subDirectory in subDirectories {
        let subDirectoryURL = directoryURL.appendingPathComponent(subDirectory)
        try fileManager.removeItem(at: subDirectoryURL)
        print("Deleted subdirectory: \(subDirectory)")
    }
} catch {
    print(error)
}

위의 코드는 지정된 디렉토리의 모든 서브 디렉토리를 삭제합니다.

이제 Swift를 사용하여 특정 경로에 있는 모든 서브 디렉토리를 삭제하는 방법을 익혔습니다. 위의 예시를 참고하여 원하는 경로에 적용해 보시기 바랍니다.