广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >node文件批量重命名的方法示例
  • 608
分享到

node文件批量重命名的方法示例

示例重命名文件批量 2022-06-04 17:06:54 608人浏览 安东尼
摘要

在一个实际需求中,需要对一批文件(如:文本、图片)进行重命名,按照数字编号。正好借此熟悉了一下node的fs文件操作,写了一个批量修改文件名的脚本。 需求 现有以下图片文件 需要批量修改文件名称,变为

在一个实际需求中,需要对一批文件(如:文本、图片)进行重命名,按照数字编号。正好借此熟悉了一下node的fs文件操作,写了一个批量修改文件名的脚本。

需求

现有以下图片文件

查看图片

需要批量修改文件名称,变为统一前缀名称并且自增索引,修改后效果

查看图片

最简单的人力操作就是逐个文件重命名,但本着DRY(Don't repeat yourself)原则,还是写一个node脚本搞定。

研究

node中要进行文件操作需要了解一下fs模块

在fs模块中有同步和异步两种方式

读取文件


//异步
fs.readFile('test.txt', 'utf-8' (err, data) => {
  if (err) {
    throw err;
  }
  console.log(data);
});

//同步
let data = fs.readFileSync('test.txt');
console.log(data);

异步读取文件参数:文件路径,编码方式,回调函数

写入文件


fs.writeFile('test2.txt', 'this is text', { 'flag': 'w' }, err => {
  if (err) {
    throw err;
  }
  console.log('saved');
});

写入文件参数:目标文件,写入内容,写入形式,回调函数

flag写入方式:

r:读取文件
w:写文件
a:追加

创建目录


fs.mkdir('dir', (err) => {
  if (err) {
    throw err;
  }
  console.log('make dir success');
});

dir为新建目录名称

读取目录


fs.readdir('dir',(err, files) => {
  if (err) {
    throw err;
  }
  console.log(files);
}); 

dir为读取目录名称,files为目录下的文件或目录名称数组

获取文件信息


fs.stat('test.txt', (err, stats)=> {
  console.log(stats.isFile());     //true
})

获取文件信息后stats方法:

方法 说明 stats.isFile() 是否为文件 stats.isDirectory() 是否为目录 stats.isBlockDevice() 是否为块设备 stats.isCharacterDevice() 是否为字符设备 stats.isSymbolicLink() 是否为软链接 stats.isFIFO() 是否为UNIX FIFO命令管道 stats.isSocket() 是否为Socket

创建读取流


let stream = fs.createReadStream('test.txt');

创建写入流


let stream = fs.createWriteStreamr('test_copy.txt');

开发

开发思路:

读取源目录 判读存放目录是否存在,不存在时新建目录 复制文件 判断复制内容是否为文件 创建读取流 创建写入流 链接管道,写入文件内容

let fs = require('fs'),
  src = 'src',
  dist = 'dist',
  args = process.argv.slice(2),
  filename = 'image',
  index = 0;

//show help
if (args.length === 0 || args[0].match('--help')) {
  console.log('--helpn t-src 文件源n t-dist 文件目标n t-n 文件名n t-i 文件名索引n');
  return false;
}

args.forEach((item, i) => {
  if (item.match('-src')) {
    src = args[i + 1];
  } else if (item.match('-dist')) {
    dist = args[i + 1];
  } else if (item.match('-n')) {
    filename = args[i + 1];
  } else if (item.match('-i')) {
    index = args[i + 1];
  }
});

fs.readdir(src, (err, files) => {
  if (err) {
    console.log(err);
  } else {
    fs.exists(dist, exist => {
      if (exist) {
        copyFile(files, src, dist, filename, index);
      } else {
        fs.mkdir(dist, () => {
          copyFile(files, src, dist, filename, index);
        })
      }
    });
  }
});

function copyFile(files, src, dist, filename, index) {
  files.forEach(n => {
    let readStream,
      writeStream,
      arr = n.split('.'),
      oldPath = src + '/' + n,
      newPath = dist + '/' + filename + index + '.' + arr[arr.length - 1];
    fs.stat(oldPath, (err, stats) => {
      if (err) {
        console.log(err);
      } else if (stats.isFile()) {
        readStream = fs.createReadStream(oldPath);
        writeStream = fs.createWriteStream(newPath);
        readStream.pipe(writeStream);
      }
    });
    index++;
  })
}

效果

查看图片

总结

node提供了很多模块可以帮助我们完成不同需求的功能开发,使javascript不仅仅局限与浏览器中,尝试自己编写一些脚本有助于对这些模块的理解,同时也能提高办公效率。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: node文件批量重命名的方法示例

本文链接: https://www.lsjlt.com/news/12301.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • node文件批量重命名的方法示例
    在一个实际需求中,需要对一批文件(如:文本、图片)进行重命名,按照数字编号。正好借此熟悉了一下node的fs文件操作,写了一个批量修改文件名的脚本。 需求 现有以下图片文件 需要批量修改文件名称,变为...
    99+
    2022-06-04
    示例 重命名 文件批量
  • node中怎么批量重命名文件
    这篇文章给大家介绍node中怎么批量重命名文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。实现思路整理了一下思路很简单,就是先把原文件的文件名读取出来放入一个数组,再把新名字作为一个...
    99+
    2022-10-19
  • python3批量为文件重命名
    简介 为什么使用python批量重命名而没有使用shell,python对文字的处理更灵活,对于文件名中的空格不会出现报错。 代码: #!/usr/bin/env python # -*- coding:utf-8 -*- """ @aut...
    99+
    2023-01-31
    批量 重命名 文件
  • python文件名批量重命名脚本实例代码
    python文件名批量重命名脚本 #encoding=utf-8 import cv2 import os import shutil base_dir = r'文件所在的文件...
    99+
    2022-11-12
  • python怎么批量重命名文件
    你可以使用os模块来批量重命名文件。以下是一个示例代码,可以把文件夹下的所有文件名中的指定字符串替换为新的字符串:pythonimp...
    99+
    2023-10-18
    python
  • python实现批量重命名文件
    #!/usr/bin/env python # -*- coding:UTF-8 -*- import os # 第一种方法 files = os.listdir('.') i = 1 for f in files:     filenam...
    99+
    2023-01-31
    批量 重命名 文件
  • win7怎么批量重命名文件
    这篇文章主要介绍了win7怎么批量重命名文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇win7怎么批量重命名文件文章都会有所收获,下面我们一起来看看吧。鼠标点击打开存放系列文件的文件夹,左键点击要排列的第一...
    99+
    2023-06-28
  • shell如何批量重命名文件
    这篇文章将为大家详细讲解有关shell如何批量重命名文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。批量重命名文件为所有txt文件加上.bak 后缀:rename&nb...
    99+
    2022-10-19
  • python实现文件批量重命名
    本文实例为大家分享了python实现文件批量重命名,供大家参考,具体内容如下 讲解 1、库:os 2、代码效果:对指定文件夹内所有文件重命名为1,2,3… 3、代码原理:使用os.l...
    99+
    2022-11-12
  • python 批量重命名移动文件
    目录一、需求描述二、前置知识和数据准备2.1 生成大量随机文件2.2 重命名文件/文件夹2.3 移动文件/文件夹2.4 遍历获取文件三、代码实现今天介绍的案例是如何利用Python来...
    99+
    2022-11-11
  • Win10如何批量重命名文件
    小编给大家分享一下Win10如何批量重命名文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体步骤如下:全选你想重命名的文件,如下图在选中状态的一个文件上点右键,选择重命名,如下图一个文件改好新名称后,其他文件依次被序号...
    99+
    2023-06-14
  • Linux怎么批量重命名文件
    本文小编为大家详细介绍“Linux怎么批量重命名文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux怎么批量重命名文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过rename命令批量重命名文件基本...
    99+
    2023-06-28
  • Win10怎么批量重命名文件? win10文件夹重命名的教程
    大家在用电脑时,经常会遇到需要批量重命名文件的问题。如果文件不多还好办,不然挨个重命名是很麻烦的事。所以,掌握重命名小技巧还是非常有必要的。下面我们就向大家介绍一下这个简单实用的方法,适用于Win7/Win8.1/Win...
    99+
    2023-05-20
    Win10 重命名
  • bash批量重命名、批量更改后辍的方法
    用特定的格式重命名当前目录的图像文件,脚本如下: #!/bin/bash#Filename:rename_photo.shset -xcount=1for img in *.jpg *.pngdonew=i...
    99+
    2022-06-04
    批量 重命名 方法
  • Linux下如何批量重命名文件
    这篇文章给大家分享的是有关Linux下如何批量重命名文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Linux 中,我们对文件进行重命名一般都会使用到 mv 命令,这在对单个文件重命名时非常方便。但是,若我...
    99+
    2023-06-27
  • windows批量重命名的方法是什么
    Windows批量重命名的方法有以下几种:1. 使用Windows资源管理器:选中要重命名的文件或文件夹,右键点击,选择“重命名”,...
    99+
    2023-09-28
    windows
  • shell批量创建文件并重新命名的实例代码
    目录一、问题二、解决1、批量删除文件2、文件更名三、总结一、问题      使用for循环批量创建10个文件,从linux-1到linux-10。并将上述文件的前缀改为unix。...
    99+
    2022-06-04
    shell批量创建文件
  • linux如何快速批量重命名文件
    这篇文章将为大家详细讲解有关linux如何快速批量重命名文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. rename命令顾名思义,rename命令就是用来进行重命名文件名的。rename命令有非常...
    99+
    2023-06-15
  • 怎么在VBS中批量重命名文件
    这篇文章给大家介绍怎么在VBS中批量重命名文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。核心函数'选择我的电脑作为根目录,来选择目录Const MY_COMPUTER = &a...
    99+
    2023-06-08
  • win10如何批量重命名文件后缀
    win10如何批量重命名文件后缀?现在有非常多的用户都在使用Win10系统,而我们在平时使用电脑的过程中,经常会用到很多的快捷键,因为快捷键能让我们的操作更方便,那么要怎么批量重命名文件?下面,小编就为大家介绍下Win10批量重命名文件的操...
    99+
    2023-07-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作