亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go 如何批量修改文件名

 更新時(shí)間:2021年05月04日 09:33:17   作者:Cynhard85  
這篇文章主要介紹了Go 批量修改文件名的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

工作中遇到了批量修改文件名的情況,為此寫了個(gè)小程序,以供日后方便查看。

用法:

renamedirfiles.exe -d "E:\shared\圖片素材\ps123_20121120_01\背景圖片打包下載" -p "bg%d"

代碼如下:

package main
import (
    "flag"
    "fmt"
    "os"
    "path/filepath"
)
func main() {
    // 解析命令行參數(shù)
    var dir string
    flag.StringVar(&dir, "d", "", "directory path")
    var pattern string
    flag.StringVar(&pattern, "p", "", "name pattern, eg. newname%d")
    flag.Parse()
    if dir == "" || pattern == "" {
        flag.Usage()
        return
    }
    // 遍歷文件夾,獲取文件路徑
    paths := make([]string, 0)
    filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
        if !info.IsDir() {
            paths = append(paths, path)
        }
        return nil
    })
    // 遍歷文件路徑,修改文件名
    for i, path := range paths {
        newPath := filepath.Join(filepath.Dir(path), fmt.Sprintf(pattern, i+1)+filepath.Ext(path))
        os.Rename(path, newPath)
    }
}

補(bǔ)充:使用Golang進(jìn)行大量修改文件名

背景

在我們平時(shí)下載資料時(shí),我們下載的資料的命名經(jīng)常會(huì)帶有某某網(wǎng)站的域名作為廣告,雖為白嫖黨,但是看起來(lái)很不舒服,下面我們使用Go語(yǔ)言進(jìn)行大量修改文件名,將文件名中的廣告域名去除。

代碼

作用:對(duì)該文件夾下的文件進(jìn)行循環(huán)遍歷,將文件名帶有xxx.cn等等字樣的文件后綴名去除

import (
 "fmt"
 "io/ioutil"
 "log"
 "os"
 "strings"
)
func main()  {
 path:="C:\\Users\\Desktop\\3_2020最新_Python_(MySQL_SQL_Redis)數(shù)據(jù)庫(kù)詳解"
 listFiles(path)
}
func listFiles(dirname string) {
 fileInfos, err := ioutil.ReadDir(dirname)
 if err!=nil {
  log.Fatal(err)
 }
 for _, f := range fileInfos {
  filename := dirname + "\\" + f.Name() //記錄當(dāng)前文件夾下的文件名
  //如果文件名包含如下字段,則將其文件名更改
  if strings.Contains(f.Name(),"(更多資源訪問(wèn):www.xxx.cn)") {
   os.Rename(filename,dirname+"\\"+strings.Replace(f.Name(),"(更多資源訪問(wèn):www.xxx.cn)","",-1))
  }
  fmt.Println(filename)                  //打印文件地址
  if f.IsDir() {                        //判斷是否是文件夾 如果是文件夾則繼續(xù)遞歸調(diào)用
   listFiles(filename)
  }
 }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 精通Go語(yǔ)言日志記錄高效日志管理

    精通Go語(yǔ)言日志記錄高效日志管理

    本文將深入探討 Go 語(yǔ)言中的日志記錄,包括 Go 的標(biāo)準(zhǔn)日志庫(kù)的使用、流行的第三方日志庫(kù)以及如何在實(shí)際項(xiàng)目中實(shí)現(xiàn)有效的日志管理
    2023-11-11
  • 一文讓你理解go語(yǔ)言的Context

    一文讓你理解go語(yǔ)言的Context

    在Go語(yǔ)言中,Context(上下文)是一個(gè)類型,用于在程序中傳遞請(qǐng)求范圍的值、截止時(shí)間、取消信號(hào)和其他與請(qǐng)求相關(guān)的上下文信息,它在多個(gè)goroutine之間傳遞這些值,使得并發(fā)編程更加可靠和簡(jiǎn)單,本文詳細(xì)介紹go語(yǔ)言的Context,需要的朋友可以參考下
    2023-05-05
  • Go高級(jí)特性之并發(fā)處理http詳解

    Go高級(jí)特性之并發(fā)處理http詳解

    Golang?作為一種高效的編程語(yǔ)言,提供了多種方法來(lái)實(shí)現(xiàn)并發(fā)發(fā)送?HTTP?請(qǐng)求,本文將深入探討?Golang?中并發(fā)發(fā)送?HTTP?請(qǐng)求的最佳技術(shù)和實(shí)踐,希望對(duì)大家有所幫助
    2024-02-02
  • 最新評(píng)論