Skip to content

osパッケージ

ファイルのステータスの確認


ディレクトリを丸ごと削除する

os.RemoveAllでディレクトリを丸ごと削除できる。
ファイルが存在しない場合、nilが戻ってくるので用途によっては注意。

package main

import (
    "fmt"
    "os"
)

func main() {
    targetDir := "mydir"
    // RemoveAllの戻り値は対象が存在しない場合はnilを返すので
    // 必要なら事前にチェックする
    if _, err := os.Stat(targetDir); os.IsNotExist(err) {
        fmt.Fprintf(os.Stderr, "Error: not found directory %q\n", targetDir)
        return
    }
    err := os.RemoveAll(targetDir)
    if err != nil {
        fmt.Fprintf(os.Stderr, "Error: failed to remove directory: %v\n", err)
    } else {
        fmt.Printf("Successfully remove the directory %q.\n", targetDir)
    }
}