Rumah hujung hadapan web tutorial js node文件批量重命名实例详解

node文件批量重命名实例详解

Jan 20, 2018 pm 05:45 PM
node Contoh Namakan semula

本文主要介绍了node文件批量重命名的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

在一个实际需求中,需要对一批文件(如:文本、图片)进行重命名,按照数字编号。正好借此熟悉了一下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);
Salin selepas log masuk

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

写入文件


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

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

flag写入方式:

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

创建目录


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

dir为新建目录名称

读取目录


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

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

获取文件信息


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

获取文件信息后stats方法:

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

创建读取流


let stream = fs.createReadStream('test.txt');
Salin selepas log masuk

创建写入流


let stream = fs.createWriteStreamr('test_copy.txt');
Salin selepas log masuk

开发

开发思路:

  1. 读取源目录

  2. 判读存放目录是否存在,不存在时新建目录

  3. 复制文件

  4. 判断复制内容是否为文件

  5. 创建读取流

  6. 创建写入流

  7. 链接管道,写入文件内容


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('--help\n \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++;
  })
}
Salin selepas log masuk

效果

总结

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

相关推荐:

如何利用node实现一个批量重命名文件的函数

PHP批量重命名某个文件夹下所有文件的实现方法介绍

php批量重命名

Atas ialah kandungan terperinci node文件批量重命名实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pemacu tidak boleh memuatkan ene.sys pada peranti ini dalam Windows 11 Pemacu tidak boleh memuatkan ene.sys pada peranti ini dalam Windows 11 May 05, 2023 am 09:13 AM

Ramai pengguna Windows 11 telah menemui mesej ralat "Pemandu tidak dapat dimuatkan pada peranti ini (ene.sys)" yang menghalang pemandu daripada memuatkan pada sistem dan ditandakan sebagai terdedah. Walau bagaimanapun, isu ini dilaporkan terutamanya oleh pengguna yang telah meningkatkan PC mereka kepada Windows 11. Ralat ini berkait rapat dengan pemacu dan fail yang rosak akibat isu kemas kini sistem pengendalian sistem. Jika anda menghadapi ralat "ene.sys" ini setiap kali anda menghidupkan komputer Windows 11 anda selepas kemas kini, teruskan membaca artikel ini. Di sini anda akan menemui beberapa kaedah penyelesaian masalah yang boleh anda gunakan jika anda melihat ralat ini pada PC anda. Betulkan 1 – Pasang Kemas Kini Pilihan Langkah 1. Gunakan kumpulan Windows+R

4 Cara untuk Menamakan semula Pencetak dengan Pantas pada Windows 11 4 Cara untuk Menamakan semula Pencetak dengan Pantas pada Windows 11 Sep 11, 2023 pm 03:26 PM

Jika anda mempunyai banyak pencetak di pejabat anda, senarai pencetak boleh menjadi panjang dan membosankan menyelesaikan kerja. Lebih-lebih lagi, berbilang pencetak biasanya bermaksud nama yang serupa, yang mungkin agak mengelirukan. Perkara terakhir yang anda mahukan ialah menatal senarai yang tidak berkesudahan dan masih menghantar kerja cetakan anda ke pencetak yang salah. Nasib baik, anda boleh menyelesaikan semua masalah ini dengan helah penamaan semula yang mudah, yang akan kami tunjukkan kepada anda di bawah. Bagaimanakah saya boleh menamakan semula pencetak saya dalam Windows 11? 1. Menggunakan apl Tetapan ketik kekunci dan klik Tetapan. Windows klik Bluetooth dan Peranti dan pilih Pencetak dan Pengimbas. Pilih pencetak yang ingin anda namakan semula. Klik Printer Properties. Navigasi ke tab Umum, kekunci

Explorer.exe tidak bermula pada permulaan sistem [Betulkan] Explorer.exe tidak bermula pada permulaan sistem [Betulkan] Jun 03, 2023 am 08:31 AM

Pada masa kini, ramai pengguna Windows mula menghadapi masalah sistem Windows yang serius. Masalahnya ialah Explorer.exe tidak boleh bermula selepas sistem dimuatkan dan pengguna tidak boleh membuka fail atau folder. Walaupun, pengguna Windows boleh membuka Windows Explorer secara manual menggunakan Command Prompt dalam beberapa kes dan ini mesti dilakukan setiap kali sistem dimulakan semula atau selepas permulaan sistem. Ini boleh menjadi masalah dan disebabkan oleh faktor-faktor berikut yang dinyatakan di bawah. Fail sistem rosak. Dayakan tetapan permulaan pantas. Pemacu paparan lapuk atau bermasalah. Perubahan telah dibuat pada beberapa perkhidmatan dalam sistem. Fail pendaftaran yang diubah suai. Dengan mengingati semua faktor di atas, kami telah menghasilkan beberapa yang pasti akan membantu pengguna

Contoh SVM dalam Python Contoh SVM dalam Python Jun 11, 2023 pm 08:42 PM

Mesin Vektor Sokongan (SVM) dalam Python ialah algoritma pembelajaran diselia yang berkuasa yang boleh digunakan untuk menyelesaikan masalah klasifikasi dan regresi. SVM berprestasi baik apabila menangani data berdimensi tinggi dan masalah bukan linear, dan digunakan secara meluas dalam perlombongan data, klasifikasi imej, klasifikasi teks, bioinformatik dan bidang lain. Dalam artikel ini, kami akan memperkenalkan contoh penggunaan SVM untuk pengelasan dalam Python. Kami akan menggunakan model SVM daripada perpustakaan scikit-learn

Bagaimana untuk menamakan semula kumpulan akhiran fail dalam win10 Bagaimana untuk menamakan semula kumpulan akhiran fail dalam win10 Jul 06, 2023 pm 07:37 PM

Bagaimana untuk menamakan semula kumpulan sufiks fail dalam win10? Pada masa kini, ramai pengguna menggunakan sistem Win10, dan apabila kami biasanya menggunakan komputer, kami sering menggunakan banyak kekunci pintasan, kerana kekunci pintasan boleh menjadikan operasi kami lebih mudah, jadi bagaimana kami menamakan semula fail secara kelompok? Di bawah, editor akan memperkenalkan kepada anda operasi penamaan semula kumpulan fail dalam Win10. Bagaimana untuk menamakan semula kumpulan fail dalam Win10 1. Pilih semua fail yang anda ingin namakan semula. 2. Klik kanan pada fail yang dipilih dan pilih Namakan semula. 3. Selepas fail dinamakan semula, fail lain akan ditandakan dengan nombor siri secara bergilir-gilir. Kaedahnya sangat mudah, tetapi apabila mengubah suai, anda mesti memberi perhatian kepada susunan fail dan kedudukan pengisihan fail sampel yang diubah suai. Nombor siri bermula daripada fail sampel yang diubah suai.

CS:GO ranap, pegun dan isu skrin hitam dalam Windows 10/11 CS:GO ranap, pegun dan isu skrin hitam dalam Windows 10/11 Apr 30, 2023 pm 06:40 PM

Sama seperti permainan lain pada PC anda, Counter-Strike: Global Offensive boleh ranap, membeku atau tersekat dalam skrin hitam semasa pelancaran. Counter-Strike ialah salah satu permainan fps sumber rendah di pasaran dan ia juga berjalan pada Tudou PC. Walaupun CSGO adalah permainan berorientasikan CPU, sistem GPU juga memainkan peranan penting. Isu skrin hitam adalah berkaitan dengan isu GPU. Ikuti penyelesaian mudah ini untuk menyelesaikan masalah. Betulkan 1 – Matikan keserasian Jika anda menjalankan permainan dalam mod keserasian pada Windows 8 atau 7, matikannya. CSGO berfungsi dengan setiap versi Windows (WindowsXP atau lebih tinggi)

Bagaimana untuk menukar jenis fail pada Windows 11/10 Bagaimana untuk menukar jenis fail pada Windows 11/10 Oct 27, 2023 pm 02:13 PM

Menukar jenis fail (sambungan) adalah tugas yang mudah. Walau bagaimanapun, kadangkala perkara yang lebih mudah boleh menjadi rumit, dan menukar sambungan fail adalah salah satu daripadanya. Anda harus berhati-hati apabila menukar jenis fail, kerana kesilapan mudah boleh merosakkan fail dan menjadikannya tidak boleh dikendalikan. Jadi, kami membincangkan pelbagai cara untuk menukar jenis fail pada Windows 11, 10. Cara Menukar Jenis Fail pada Windows 11, 10 Terdapat dua cara untuk melakukan ini. Anda boleh menggunakan kaedah GUI langsung (dalam File Explorer) atau anda boleh menukar jenis fail dari terminal. Cara 1 – Menggunakan File Explorer Cara 2 – Menggunakan Terminal CMD Cara 1 – Menukar jenis fail secara terus Anda boleh terus menukar jenis fail dari atas dan ke bawah dalam File Explorer

Apakah kekunci pintasan untuk menamakan semula Apakah kekunci pintasan untuk menamakan semula? Apakah kekunci pintasan untuk menamakan semula Apakah kekunci pintasan untuk menamakan semula? Feb 22, 2024 pm 02:50 PM

Kekunci pintasan untuk menamakan semula ialah F2. Analisis 1 Kekunci pintasan untuk menamakan semula ialah F2 2 Jika anda ingin menamakan semula fail atau folder, anda boleh menekan F2 selepas memilih fail, ubah suai terus dan tekan Enter. 3 Kadangkala anda juga boleh menggunakan tetikus untuk memilih fail, klik kanan, pilih Namakan semula dan tekan Enter selepas pengubahsuaian selesai. 4 Kekunci pintasan merujuk kepada gabungan atau jujukan kekunci khas pada papan kekunci untuk melengkapkan arahan tertentu dengan cepat, yang boleh meningkatkan kecekapan kerja dengan berkesan. Tambahan: Apakah kekunci pintasan? 1 Kekunci pintasan, juga dipanggil kekunci panas, merujuk kepada melengkapkan operasi melalui kekunci tertentu, urutan kekunci atau kombinasi kekunci. Anda boleh menggunakan kekunci pintasan untuk melakukan beberapa kerja dan bukannya tetikus Anda boleh menggunakan pintasan papan kekunci untuk membuka, menutup dan menavigasi menu mula, desktop, menu dan kotak dialog.

See all articles