亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

重命名非空文件夾

重命名非空文件夾

Go
慕村225694 2022-01-04 15:43:20
我正在嘗試使用os.Rename(). 這是錯誤: directory not empty。是否可以強制重命名非空文件夾?package mainimport (    "path/filepath"    "log"    "os"    "strings")var PATH = "dir/dir/"/func main() {    err := filepath.Walk(PATH, printDir)    if err != nil {        log.Fatal(err)    }}func printDir(path string, info os.FileInfo, err error) error {    if err != nil {        log.Fatal(err)    }    if info.IsDir() {        arr := strings.Split(info.Name(), " ")        if len(arr) > 1 {            err := os.Rename(PATH + info.Name(), arr[0] + "_" + arr[1])            if err != nil {                log.Fatal(err)            }        }    }    return nil}
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

我通過if err != nil { log.Fatal(err) }在printDir功能中取出來修復它。它以 1 個錯誤代碼終止,因為每次運行該程序時,其中一個文件夾已被重命名。


// Rename the folder name to format first_last.

// Then delete all files in each folder that are not jpg extension.

package main


import (

    "path/filepath"

    "log"

    "os"

    "strings"

    "fmt"

)


var PATH = "dir/dir/dir"


func main() {

    err := filepath.Walk(PATH, printDir)

    if err != nil {

        log.Fatal(err)

    }

}


func printDir(path string, info os.FileInfo, err error) error {

    if info.IsDir() {

        if !strings.Contains(info.Name(), "_") && len(strings.Split(info.Name(), " ")) > 1 {

            os.Rename(PATH + info.Name(), PATH + strings.Replace(info.Name(), " ", "_", -1))

        }

    }

    if !info.IsDir() {

        fmt.Println(info.Name())

    }

    return nil

}


查看完整回答
反對 回復 2022-01-04
  • 1 回答
  • 0 關注
  • 261 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號