佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Go 如何批量修改文件名

Go 如何批量修改文件名

熱門標(biāo)簽:AI電銷 百度競價排名 呼叫中心市場需求 地方門戶網(wǎng)站 網(wǎng)站排名優(yōu)化 Linux服務(wù)器 鐵路電話系統(tǒng) 服務(wù)外包

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

用法:

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)行大量修改文件名

背景

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

代碼

作用:對該文件夾下的文件進(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ù)庫詳解"
 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(),"(更多資源訪問: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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Go遞歸修改文件名的實(shí)例代碼
  • go build 通過文件名后綴實(shí)現(xiàn)不同平臺的條件編譯操作
  • Go并發(fā):使用sync.WaitGroup實(shí)現(xiàn)協(xié)程同步方式
  • go等待一組協(xié)程結(jié)束的操作方式
  • SpringBoot整合MongoDB實(shí)現(xiàn)文件上傳下載刪除
  • golang協(xié)程池模擬實(shí)現(xiàn)群發(fā)郵件功能

標(biāo)簽:黃山 仙桃 湘潭 蘭州 崇左 衡水 銅川 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go 如何批量修改文件名》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    沧州市| 丹阳市| 灵川县| 简阳市| 房产| 象山县| 盘山县| 芒康县| 永兴县| 东丽区| 分宜县| 泰州市| 金乡县| 博客| 黄龙县| 福清市| 临汾市| 阿拉善左旗| 万山特区| 西吉县| 本溪市| 若羌县| 化隆| 南部县| 武汉市| 庆云县| 林口县| 兰坪| 昌黎县| 皮山县| 泌阳县| 宜兰县| 堆龙德庆县| 赫章县| 瑞安市| 泾阳县| 肃南| 金山区| 公主岭市| 孟州市| 息烽县|