最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go 如何批量修改文件名

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

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

用法:

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)
    }
}

補充:使用Golang進行大量修改文件名

背景

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

代碼

作用:對該文件夾下的文件進行循環(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ù)庫詳解"
 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() //記錄當前文件夾下的文件名
  //如果文件名包含如下字段,則將其文件名更改
  if strings.Contains(f.Name(),"(更多資源訪問:www.xxx.cn)") {
   os.Rename(filename,dirname+"\\"+strings.Replace(f.Name(),"(更多資源訪問:www.xxx.cn)","",-1))
  }
  fmt.Println(filename)                  //打印文件地址
  if f.IsDir() {                        //判斷是否是文件夾 如果是文件夾則繼續(xù)遞歸調(diào)用
   listFiles(filename)
  }
 }
}

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

相關文章

  • go語言中Timer和Ticker兩種計時器的使用

    go語言中Timer和Ticker兩種計時器的使用

    go語言中有Timer和Ticker這樣的兩種計時器,兩種計時器分別實現(xiàn)了不同的計時功能,本文主要介紹了go語言中Timer和Ticker兩種計時器的使用,感興趣的可以了解一下
    2024-08-08
  • go實現(xiàn)冒泡排序的示例代碼

    go實現(xiàn)冒泡排序的示例代碼

    這篇文章主要介紹了go實現(xiàn)冒泡排序的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • golang生成指定位數(shù)的隨機數(shù)的方法

    golang生成指定位數(shù)的隨機數(shù)的方法

    這篇文章主要介紹了golang生成指定位數(shù)的隨機數(shù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Go?io/fs.FileMode文件系統(tǒng)基本操作和權限管理深入理解

    Go?io/fs.FileMode文件系統(tǒng)基本操作和權限管理深入理解

    這篇文章主要為大家介紹了Go?io/fs.FileMode文件系統(tǒng)基本操作和權限管理深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 淺談golang 中time.After釋放的問題

    淺談golang 中time.After釋放的問題

    這篇文章主要介紹了淺談golang 中time.After釋放的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • 深入了解Golang中Slice切片的使用

    深入了解Golang中Slice切片的使用

    本文主要為大家詳細介紹了Golang中Slice切片的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-02-02
  • 如何使用Golang打包jar應用

    如何使用Golang打包jar應用

    go:embed 是 Go 1.16 引入的一個強大功能,它允許在編譯時將外部文件或目錄嵌入到 Go 程序中,下面介紹如何使用 go:embed 來嵌入JAR 文件,感興趣的朋友一起看看吧
    2025-04-04
  • Golang中常用的語法糖分享

    Golang中常用的語法糖分享

    語法糖,也稱糖語法,是由英國計算機科學家彼得·蘭丁提出的,用于表示編程語言中的某種類型的語法,這些語法不會影響功能,但使用起來卻很方便,本文就來看看Golang中常用的語法糖有哪些吧
    2023-05-05
  • golang通過遞歸遍歷生成樹狀結構的操作

    golang通過遞歸遍歷生成樹狀結構的操作

    這篇文章主要介紹了golang通過遞歸遍歷生成樹狀結構的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能

    Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能

    這篇文章主要介紹了Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能,使用net/http模塊編寫了一個簡單的登錄驗證和文件上傳的功能,在此做個簡單記錄,需要的朋友可以參考下
    2023-07-07

最新評論

辽中县| 海盐县| 图木舒克市| 淮阳县| 讷河市| 南康市| 东阳市| 印江| 阿鲁科尔沁旗| 绿春县| 乐昌市| 那曲县| 临沧市| 遵义市| 中牟县| 慈利县| 云阳县| 泰宁县| 松桃| 迁安市| 灵川县| 江北区| 泰来县| 白水县| 泰宁县| 开鲁县| 若尔盖县| 东港市| 娄烦县| 于都县| 剑河县| 忻州市| 花垣县| 迁西县| 遂昌县| 长沙县| 五台县| 铅山县| 江安县| 红河县| 汽车|