最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Node.js對文件進行重命名

 更新時間:2017年03月12日 15:39:10   作者:zhuxinyong  
最近工作中遇到了對文件進行重命名的需求,后通過node.js實現(xiàn)了,所以下面這篇文章主要給大家介紹了利用Node.js對文件進行重命名的相關(guān)資料,文中介紹的非常詳細,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。

前言

最近把博客換了皮膚,今天早上起來就開始搗鼓文件命名問題。hexo的文章基本都是生成在_post文件夾下,若文章多了以后就不好管理,所就打算以【日期+文章標題】為文件名:

更改前:


更改后:


文章一共90篇,作為程序員不可能一個個的去改,得用工具幫我去完成,那就是用程序幫我完成這么機械的任務(wù)。

完成這項任務(wù)的前提條件是:文章的時間和文章的標題

題目很簡單,文件名就是,時間呢?幸好hexo在生成文章的時候,文件內(nèi)容里面已經(jīng)有時間:

title: Nodjs重命名文件
date: 2017-03-05 08:57:47
categories:
 - nodejs
 - javascript
tags:

所以接下來的事情就明確了:

1. 讀取文章內(nèi)容

2. 提取時間

3. 拼接時間和文章標題

代碼整體思路:

1.讀取指定目錄下的文件內(nèi)容

2.一行行的分割內(nèi)容,提取想要的內(nèi)容

3.拼接時間+標題

在整行讀取內(nèi)容遇到一些問題,查了文檔nodejs好像有 https://nodejs.org/api/readline.html ,但我沒有用直接用
了一個偷懶的方法分割內(nèi)容:

data.toString().split('\n')

這樣就得到一個以換行 \n 為分割的數(shù)組。

用到的方法:

readdirSync readFile rename

下面是代碼:

/*
* @Author: zhuxy
* @Date: 2017-03-05 08:05:39
* @Last Modified by: zhuxy
* @Last Modified time: 2017-03-05 09:23:35
*/
const fs = require('fs');
let path = 'your/path';
let files = fs.readdirSync(path);
for(let i = 0; i < files.length; i++){
 fs.readFile(`${path}/${files[i]}`,function(err,data){
  // console.log(data.toString().split('\n')[0].split(' ')[1])
  // console.log(data.toString().split('\n')[1].split(' ')[1])
  let newname = data.toString().split('\n')[1].split(' ')[1] + '-' + data.toString().split('\n')[0].split(' ')[1].replace(/['|']/g,'')
  fs.rename(`${path}/${files[i]}`,`${path}/${newname}.md`)
 })
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Express實現(xiàn)定時發(fā)送郵件的示例代碼

    Express實現(xiàn)定時發(fā)送郵件的示例代碼

    在開發(fā)中我們有時候需要每隔?一段時間發(fā)送一次電子郵件,或者在某個特定的時間進行發(fā)送郵件,無需手動去操作,基于這樣的情況下我們需要用到了定時任務(wù)。本文就來用Express實現(xiàn)定時發(fā)送郵件吧
    2023-04-04
  • 用C/C++來實現(xiàn) Node.js 的模塊(二)

    用C/C++來實現(xiàn) Node.js 的模塊(二)

    上篇文章的主要內(nèi)容講訴了用C/C++來實現(xiàn) Node.js 的模塊,本文更深一步繼續(xù)探討這個問題,有需要的朋友可以參考下
    2014-09-09
  • 三分鐘教你用Node做一個微信哄女友神器(面向小白)

    三分鐘教你用Node做一個微信哄女友神器(面向小白)

    這篇文章主要介紹了三步教你用Node做一個微信哄女友神器(面向小白),用node和wechaty微信網(wǎng)頁接口開發(fā)的一款小工具,可以定時給女朋友發(fā)每天的天氣情況,天氣提醒,每日一句,通過配置機器人api后還可以實現(xiàn)微信機器人自動陪女朋友聊天,需要的朋友可以參考下
    2019-06-06
  • 究竟什么是Node.js?Node.js有什么好處?

    究竟什么是Node.js?Node.js有什么好處?

    這篇文章主要介紹了究竟什么是Node.js?Node.js有什么好處?,為試圖解釋什么是 Node.js,本文將簡要介紹一些背景信息:它要解決的問題,它如何工作,如何運行一個簡單應(yīng)用程序,最后,Node 在什么情況下是一個好的解決方案,需要的朋友可以參考下
    2015-05-05
  • 如何設(shè)置process.env.NODE_ENV生產(chǎn)環(huán)境模式

    如何設(shè)置process.env.NODE_ENV生產(chǎn)環(huán)境模式

    process.env.NODE_ENV默認只有兩種狀態(tài)即development和production,本文主要介紹了process.env.NODE_ENV設(shè)置生產(chǎn)環(huán)境模式,感興趣的可以了解一下
    2021-09-09
  • Node.js基礎(chǔ)入門之使用方式及模塊化詳解

    Node.js基礎(chǔ)入門之使用方式及模塊化詳解

    Node.js是一個基于 Chrome V8 引擎的 JavaScript 運行時。類似于Java中的JRE,.Net中的CLR。本文將詳細為大家介紹一些Node.js的基礎(chǔ)知識和使用方式以及其模塊化,需要的可以參考一下
    2022-03-03
  • node-sass@4.14.1報錯的最終解決方案分享

    node-sass@4.14.1報錯的最終解決方案分享

    最近在安裝node-sass@4.14.1的時候遇到了些問題,所以下面這篇文章主要給大家介紹了關(guān)于node-sass@4.14.1報錯的最終解決方案,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • 詳解node如何讓一個端口同時支持https與http

    詳解node如何讓一個端口同時支持https與http

    眾所周知node是一個高性能的web服務(wù)器,使用它可以很簡單的創(chuàng)建一個http或https的服務(wù)器。這篇文章主要介紹了詳解node如何讓一個端口同時支持https與http
    2017-07-07
  • NodeJS的使用與NPM包管理器詳解

    NodeJS的使用與NPM包管理器詳解

    Node.js 是一個基于 Chrome V8 JavaScript 引擎 構(gòu)建的開源、跨平臺運行時環(huán)境,這篇文章主要介紹了NodeJS的使用與NPM包管理器,需要的朋友可以參考下
    2025-04-04
  • 在Node.js中判定文件是否可執(zhí)行的方法詳解

    在Node.js中判定文件是否可執(zhí)行的方法詳解

    在進行前端開發(fā)時,經(jīng)常需要處理各種文件權(quán)限的問題,特別是在Node.js環(huán)境中,你可能想要判斷某個文件是否具有可執(zhí)行權(quán)限,本文將詳細介紹如何使用isexe模塊來進行這一操作,需要的朋友可以參考下
    2024-05-05

最新評論

台州市| 台山市| 逊克县| 特克斯县| 屯留县| 弥渡县| 来安县| 连山| 德阳市| 德州市| 永善县| 广宁县| 阜康市| 常宁市| 南乐县| 自贡市| 阿瓦提县| 托克逊县| 蒲江县| 衡东县| 防城港市| 绩溪县| 平乐县| 凤翔县| 宜宾县| 汕尾市| 临海市| 五大连池市| 焦作市| 灵宝市| 泰和县| 十堰市| 扎兰屯市| 霍林郭勒市| 丹东市| 开平市| 铁力市| 墨玉县| 东乡族自治县| 华阴市| 余姚市|