关于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]

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

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

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

  

  const  dir=process.cwd()

  const filenames=fs.readdirSync(dir)

  、文件名都有了,开始筛选需要修改的名字,但是如果文件夹名有.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)是替换路径名的方法;

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

  list.forEach(item => {

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

    fs.renameSync(source,target)

  })

关于用node批量修改文件名的更多相关文章

  1. 使用Java中File类批量创建文件和批量修改文件名

    批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...

  2. Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等

    http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...

  3. [转载][记录]shell 批量修改文件名

    参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...

  4. linux批量修改文件名的shell脚本

    linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令  ========================  NAME ...

  5. 用python批量修改文件名

    从youtube上当下来百来首mv,每个都需要去掉视频,这还挺好弄得,格式工厂一弄就完了,但是文件名,都带有乱七八糟的*啥的巴拉巴拉的,咋修改啊,几百首总不可能一个一个rename吧 #批量修改文件名 ...

  6. windows下如何批量修改文件名

    windows下如何批量修改文件名 一.总结 一句话总结:就是用excel生成了多条修改文件名的dos命令然后执行,比较核心的就是把图片名称导入excel 将图片名称导入excel---编写如下DOS ...

  7. C# 批量修改文件名

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. Linux下批量修改文件名(rename)

    原文地址: http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修 ...

  9. rename 批量修改文件名简单用法

    有的时候我们需要批量创建文件做测试,为了做区分,一般只要稍稍动动文件名即可,MV命令既可以移动文件,也是可以修改文件名的,但批量修改文件名MV做不到,此时,我们可以用rename命令批量修改是蛮不错的 ...

随机推荐

  1. Spring学习(22)--- AOP之Advice应用(下)

    (六)Advice parameters(advice带参数的情况) 例子: 修改MyAspect(添加around_init方法): package com.aop.schema; import o ...

  2. Jquery操作Table

    Jquery 操作 Html Table 是很方便的,这里对表格的基本操作进行一下简单的总结. 首先建立一个通用的表格css 和一个 表格Table: table { border-collapse: ...

  3. 解决jmeter请求不成功或者报403错误

    有同学遇到这种情况,jmeter请求一个网站,各项参数填写正确,可是响应是403,同样的请求放在浏览器执行就没有问题: 这是因为被请求的网站做了请求来源过滤,来源不明的请求拒绝访问,我们需要在jmet ...

  4. Java类的装载过程和静态代码块

    在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载.连接和初始化,其中连接又可以分成校验.准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下: ...

  5. jQuery未定义错误原因(jQuery is not define)

    使用jQuery时,必须把它写在最前面,这样浏览器才会先加载jQuery,否则会提示缺少对象. 正确 <script type="text/javascript" src=& ...

  6. Python操作redis系列之 列表(list) (四)

    # -*- coding: utf- -*- import redis r =redis.Redis(host=,password="ZBHRwlb1608") 1. Lpush ...

  7. jquery判断对象是否显示或隐藏

    if($('a.specail2').is(":visible")){ /**jquery判断对象是否显示或隐藏**/ $('a.one').hide(); $('a.specai ...

  8. 【从零开始】用node搭建一个jsonp&json服务

    目录: 一.介绍 二.node安装 三.webstorm配置node环境 四.代码介绍 五.如何使用 六.自定义域名 七.其他 一.介绍 1.背景     日常工作中,跟后端商定好接口格式后:通常采用 ...

  9. 一篇文章学懂Shell脚本

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合.Shell可以直接使用在win/Unix/Linux上面, ...

  10. Unity 游戏框架搭建 (四) 简易有限状态机

    为什么用有限状态机?   之前做过一款跑酷游戏,跑酷角色有很多状态:跑.跳.二段跳.死亡等等.一开始是使用if/switch来切换状态,但是每次角色添加一个状态(提前没规划好),所有状态处理相关的代码 ...