nodejs文件夹深层复制功能

发布时间:2020-10-16 16:35:07

来源:脚本之家

阅读:116

作者:java_Android

前段时间接到领导要求,运营那边会时不时的给我一些.html文件,让我呢把里面的某些东西给解析出来插入到数据库。本来就是解析dom元素,然后插入,可是有点麻烦的是运营给我的文件都是多层级的:比如下面的:

我所需要是将运营给的文件夹中每个文件都复制到某个文件夹中(test),然后取test中所有文件进行解析。开始的时候本人崩着能吃苦耐劳的精神,每次都是复制粘贴,可是这是容易出错不说,关键我们是个程序员啊,就应该用程序员的方式来解决嘛。有些同志会说这很简单啊 找到'E:819数据819'这个文件夹,将它内部的每个文件夹读出来组成一个数组,在循环遍历里面的每个文件进行复制就可以了啊

fs.readdir('E:/819数据/819','utf-8',(err,fileList)=>{

fileList.forEach((file,index)=>{

let url = from+file+'/'

fs.readdir(from+file,'utf-8',(error,singleFile)=>{

singleFile.forEach((fileInner,i)=>{

fs.writeFileSync(`${to}${name++}.html`, fs.readFileSync(url+fileInner));

})

})

})

})

这就是上面的代码实现,开始我也是图省事就这样写了(把运营同事给的文件夹中所有文件复制到我的test目录中),可是mmp后来发现有的文件会有多重文件夹的嵌套

这时候就不能在一层的一层的判断了,万一运营给的嵌套10层,总不能为了每个文件夹的复制写一串代码吧,这里只能使用递归来解析了。

let name = 1

copyItDigui('E:/819数据/819','E:/test/');

function copyItDigui(from, to) {

searchFile(from, to);

}

function searchFile(from, to){

let stat = fs.lstatSync(from);

if(stat.isDirectory()){//判断是文件夹就继续下面的遍历,否则直接进行文件的复制和重名了

fs.readdir(from,'utf-8',(err,fileList)=>{

fileList.forEach((file,index)=>{

searchFile(from+"/"+file,to)

})

})

}else{

fs.writeFileSync(`${to}${name++}.html`, fs.readFileSync(from));//这里是执行文件的复制,下面的是大文件的复制

//fs.writeFileSync(to, fs.readFileSync(from));

//fs.createReadStream(src).pipe(fs.createWriteStream(dst));大文件复制

}

}

这里没有用ts来写,可能看上去有些凌乱,但是都写了注释,相信聪明的你一定看得懂。执行完代码后,复制就完成了,大功告成。

完全按照预想的结果,现在发现,即使我们是前端程序员,会点nodejs,还是蛮有用的,可以增强自己的成就感

总结

以上所述是小编给大家介绍的nodejs文件夹深层复制功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

nodejs复制服务器文件,nodejs文件夹深层复制功能相关推荐

  1. nodejs从服务器返回静态文件,nodejs静态资源服务器

    nodejs静态资源服务器 内容精选 换一换 WebSdk需要客户结合自身业务需求搭建web服务器并集成sdk使用.自行搭建一个web服务器,将wwwroot下的文件拷贝到web服务器的静态资源目录下 ...

  2. nodejs从服务器返回静态文件,详解Nodejs之静态资源处理

    前言 刚开始用Nodejs写简单的web服务器的时候,总是感觉少了点什么. 原来,我一直是在页面上输出什么Hello World!啊, It Works.之类的了.还确实没有处理关于CSS, JS这些 ...

  3. 复制服务器大于2g文件,大于2G的文件如何免费使用奶牛快传

    他们依然采用传统的本地上传方式,比如FileZilla(三大平台),taransmit(MacOS)等软件(这两个软件很常用,Transmit我之前在局域网的服务器中使用很方便,网速很快,但是在服务器 ...

  4. 远程复制服务器大于2g文件吗,ps保存文件太大_PS文件大于2G存不了怎么办

    摘要 腾兴网为您分享:PS文件大于2G存不了怎么办,社会扶贫,闪动壁纸,每日一淘,老师说等软件知识,以及钢铁侠动态壁纸,甘肃教育,社保认证,华为mate8刷机包,赣教,口袋购物,七年级暑假作业语文,全 ...

  5. nodejs linux复制文本,Nodejs 复制文件/文件夹的方法

    1.使用fs复制文件 使用fs对象的readFileSync,writeFileSync方法进行读写操作复制 cp.js function copyIt(from, to) { fs.writeFil ...

  6. nodejs复制文件夹操作

    //两个参数写绝对路径 const fs = require('fs'); const path = require('path'); //两个绝对路径 const prePath = process ...

  7. php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端

    这次给大家带来如何使用nodejs 服务器读取HTML文件渲染至前端,使用nodejs 服务器读取HTML文件渲染至前端的注意事项有哪些,下面就是实战案例,一起来看一下. 1.分别简单实现三个备用页面 ...

  8. 如何复制服务器数据库文件大小,如何复制服务器数据库文件夹

    如何复制服务器数据库文件夹 内容精选 换一换 您可以通过mongoexport的方式将数据库备份到弹性云服务器上,但不建议将弹性云服务器作为数据库备份空间使用.强烈推荐使用文档数据库实例的备份功能,将 ...

  9. Linux使用scp在服务器之间远程传输复制文件和文件夹

    使用scp将一个Linux系统中的文件或文件夹复制到另一台Linux服务器上 复制文件或文件夹(目录)命令:   一.复制文件:   (1)将本地文件拷贝到远程   scp 文件名 用户名@计算机IP ...

最新文章

  1. java basedaoimpl_java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl
  2. uniapp实现图片预览功能
  3. 点火提前角的修正方式有哪些_“天问一号”完成第二次轨道中途修正:精度很高,本次修正量很小...
  4. powerpoint 发布_PowerPoint的死亡:这些谈话打破了常规
  5. AIX 6.1 连接DS4700,多路径mpio,mpio_get_config -Av 需要打补丁。
  6. Spring Cache 介绍
  7. 怎么用python扫描主机_如何调用python-nmap来实现扫描局域网存活主机(代码)
  8. 中国智能经济觉醒,云智一体打造产业智能化加速器
  9. 机器学习领域几种距离度量方法metric详解
  10. Typecho handsome主题一言接口修改
  11. 深入总部调研苏宁易购研发
  12. 黑客入侵Wishbone窃取上万邮箱及手机号码
  13. 测试大会能给我们带来什么?
  14. 面试了一位 阿里出来的46 岁的程序员,思绪万千,最后结局居然...
  15. Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
  16. NRF24L01+双向通信
  17. classname库的使用
  18. 微软三月十日发行两个安全补丁
  19. python项目对接腾讯云发送短信
  20. Spring源码分析八:Mybatis ORM映射框架原理

热门文章

  1. 三级菜单 python_python三级菜单
  2. python转换为c代码_bash 转换为C代码
  3. 文档根元素 project 必须匹配 doctype 根 null_快评:全新MG5上市6.49万起,但买它必须准备10万?...
  4. c语言怎样输入动态数组代码,求助~~ 如何把数组变成动态输入的?
  5. 如何设置打印的时候不加上页面链接_excel表格的这10个打印小技巧,办公室财务人员记得收藏...
  6. 3.6.4python下载安装教程_python 3.6.4安装教程
  7. 敏捷开发的6个实战经验
  8. asterisk版本选择
  9. CentOS卸载OpenJDK并安装Sun JDK
  10. catia linux下载64位,CATIA V5 CATSysDemon.exe缓冲区溢出漏洞