用python/js修改文件名称

昨天在ping多多上买周杰伦的所用mp3歌曲,店家过来的网盘资源,文件名称全部都是有空格或者数字在这里插入图片描述
在这里插入图片描述
三百首歌曲,总不会一个个改吧
好在之前学了python还没全忘,写了个遍历该目录所有的所有目录和文件,并且使用正则修改名称

from os.path import isfile, isdir
from os import listdir
import os
import re

##查询文件夹的文件
def traverseDir(path):
    for mulu in listdir(path):  #返回path目录下的文件和目录列表
        subpath = path + "\\" + mulu
        if isfile(subpath): #判断是否是文件
            #旧目录路径subpath
            #目录名称修改
            newmulu = re.sub(r"(\d+.)|(\s+)",'',mulu)
            #newmulu = '周杰伦 - '+mulu
            newpath = path + "\\" + newmulu
            os.rename(subpath,newpath)
            
        elif isdir(subpath): #判断是否是文件夹
            #旧目录路径subpath
            #目录名称修改
            newmulu = re.sub(r"(\d+.)|(\s+)",'',mulu)
            #print(newmulu)
            newpath = path + "\\" + newmulu
            os.rename(subpath,newpath)
            traverseDir(subpath) #深度搜索


traverseDir("C:\\Users\\user\\Desktop\\downloadFile\\baiduPan\\周杰伦全集 MP3")
print("成功")


在这里插入图片描述

js代码修改

const fs = require('fs');
const path = require('path');
const cnchars = require('cn-chars');//需要安装


//
function traveserDir(filepath) {
  //获取该路径下的子文件名或者目录名
  fs.readdir(filepath, function (err, files) {
    if (err) {
      throw err;
    }
    //便利名称数组
    files.forEach(function (item, index) {
      //该文件or目录路径
      let subpath = path.join(filepath, item);
      //读取文件的状态
      fs.stat(subpath, (err, stats) => {
        if (err) throw err;
        //判断是否为文件
        if (stats.isFile() === true) {
          //修改名称
          // let newName = item.replace('要替换的字符', '替换成字符');
          let notTranNewName = item;
          //繁体转简体
          let newName = "";
          for(let char of notTranNewName){
            newName = newName + cnchars.toSimplifiedChar(char);
          }
          
          //拼接路径
          let newPath = path.join(filepath, newName);
          //写入
          fs.rename(subpath, newPath, (err) => {
            if (err) throw err;
            console.log(item + '-->' + newName);
          });
        }
        //判断是否为目录
        else if (stats.isDirectory() === true) {
          //深度查找
          traveserDir(subpath);
        }
      });
    })
  });
}
traveserDir(path.join(__dirname, "相对路径"));
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值