• 关于用node批量修改文件名


    关于node环境的配置和环境变量的配置就不再这个细说了

    一、首先按需求找到需要使用的模块

      fs和path;

      const fs=require('fs')

      const path=require('path')

    二、步骤

      1获取传入的参数(也就是扩展名),也就是我们用什么方式改扩展名,如下图传参的方式,(在每次需求提出的时候,我们首先考虑的是怎么用,然后再考虑怎么写;)

      node也给我们提供了获取的方法,process.argv[index];如上图有四个参数,

      官方文档 https://npm.taobao.org/mirrors/node/latest/docs/api/process.html#process_process_argv

      const  old=process.argv[2]

      const  now=process.argv[3]

      2然后获取全部是指定目录下的指定扩展名的文件,这里会用到两个方法process.cwd()、fs.readdirSync();

        该process.cwd()方法返回Node.js进程的当前工作目录,返回的是一个字符串;

        fs.readdirSync();返回的是个数组如下图,一定要传参。fs.readdirSync(path [,options])

      

      const  dir=process.cwd()

      const filenames=fs.readdirSync(dir)

      3、文件名都有了,开始筛选需要修改的名字,但是如果文件夹名有.js,怎么办呢?需要我们筛选一下,

        const list = filenames.filter(item => {
          const isFile = fs.statSync(path.join(dir, item)).isFile()
          const matchExt = path.extname(item) .substr(1)=== old
          return isFile && matchExt
        })

      4、遍历每一个文件,将其扩展名改为指定的值

      path.join()方法path使用平台特定的分隔符作为分隔符将所有给定的段连接在一起,然后对结果路径进行规范化。

      下面的source和 target是绝对路径dir再与后面的item拼在一起;

      fs.renameSync(oldPath,newPath)是替换路径名的方法;

    <a href="https://npm.taobao.org/mirrors/node/latest/docs/api/process.html#process_process_argv">https://npm.taobao.org/mirrors/node/latest/docs/api/process.html#process_process_argv</a>
    

      

      list.forEach(item => {

        const source=path.join(dir,item)
        const target=path.join(dir,item.replace(old,now))

        fs.renameSync(source,target)

      })

     

  • 相关阅读:
    C++(函数默认参数)
    C++(引用六)
    C++(引用五)
    C++(引用四)
    C++(引用三)
    C++(引用二)
    C++(引用一)
    划水。。。
    2019.11.7
    lyc——2019.10.31
  • 原文地址:https://www.cnblogs.com/code-ChickenSoup/p/7242095.html
Copyright © 2020-2023  润新知