nodejs复制服务器文件,nodejs文件夹深层复制功能
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文件夹深层复制功能相关推荐
- nodejs从服务器返回静态文件,nodejs静态资源服务器
nodejs静态资源服务器 内容精选 换一换 WebSdk需要客户结合自身业务需求搭建web服务器并集成sdk使用.自行搭建一个web服务器,将wwwroot下的文件拷贝到web服务器的静态资源目录下 ...
- nodejs从服务器返回静态文件,详解Nodejs之静态资源处理
前言 刚开始用Nodejs写简单的web服务器的时候,总是感觉少了点什么. 原来,我一直是在页面上输出什么Hello World!啊, It Works.之类的了.还确实没有处理关于CSS, JS这些 ...
- 复制服务器大于2g文件,大于2G的文件如何免费使用奶牛快传
他们依然采用传统的本地上传方式,比如FileZilla(三大平台),taransmit(MacOS)等软件(这两个软件很常用,Transmit我之前在局域网的服务器中使用很方便,网速很快,但是在服务器 ...
- 远程复制服务器大于2g文件吗,ps保存文件太大_PS文件大于2G存不了怎么办
摘要 腾兴网为您分享:PS文件大于2G存不了怎么办,社会扶贫,闪动壁纸,每日一淘,老师说等软件知识,以及钢铁侠动态壁纸,甘肃教育,社保认证,华为mate8刷机包,赣教,口袋购物,七年级暑假作业语文,全 ...
- nodejs linux复制文本,Nodejs 复制文件/文件夹的方法
1.使用fs复制文件 使用fs对象的readFileSync,writeFileSync方法进行读写操作复制 cp.js function copyIt(from, to) { fs.writeFil ...
- nodejs复制文件夹操作
//两个参数写绝对路径 const fs = require('fs'); const path = require('path'); //两个绝对路径 const prePath = process ...
- php渲染nodejs api,如何使用nodejs 服务器读取HTML文件渲染至前端
这次给大家带来如何使用nodejs 服务器读取HTML文件渲染至前端,使用nodejs 服务器读取HTML文件渲染至前端的注意事项有哪些,下面就是实战案例,一起来看一下. 1.分别简单实现三个备用页面 ...
- 如何复制服务器数据库文件大小,如何复制服务器数据库文件夹
如何复制服务器数据库文件夹 内容精选 换一换 您可以通过mongoexport的方式将数据库备份到弹性云服务器上,但不建议将弹性云服务器作为数据库备份空间使用.强烈推荐使用文档数据库实例的备份功能,将 ...
- Linux使用scp在服务器之间远程传输复制文件和文件夹
使用scp将一个Linux系统中的文件或文件夹复制到另一台Linux服务器上 复制文件或文件夹(目录)命令: 一.复制文件: (1)将本地文件拷贝到远程 scp 文件名 用户名@计算机IP ...
最新文章
- java basedaoimpl_java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl
- uniapp实现图片预览功能
- 点火提前角的修正方式有哪些_“天问一号”完成第二次轨道中途修正:精度很高,本次修正量很小...
- powerpoint 发布_PowerPoint的死亡:这些谈话打破了常规
- AIX 6.1 连接DS4700,多路径mpio,mpio_get_config -Av 需要打补丁。
- Spring Cache 介绍
- 怎么用python扫描主机_如何调用python-nmap来实现扫描局域网存活主机(代码)
- 中国智能经济觉醒,云智一体打造产业智能化加速器
- 机器学习领域几种距离度量方法metric详解
- Typecho handsome主题一言接口修改
- 深入总部调研苏宁易购研发
- 黑客入侵Wishbone窃取上万邮箱及手机号码
- 测试大会能给我们带来什么?
- 面试了一位 阿里出来的46 岁的程序员,思绪万千,最后结局居然...
- Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级
- NRF24L01+双向通信
- classname库的使用
- 微软三月十日发行两个安全补丁
- python项目对接腾讯云发送短信
- Spring源码分析八:Mybatis ORM映射框架原理
热门文章
- 三级菜单 python_python三级菜单
- python转换为c代码_bash 转换为C代码
- 文档根元素 project 必须匹配 doctype 根 null_快评:全新MG5上市6.49万起,但买它必须准备10万?...
- c语言怎样输入动态数组代码,求助~~ 如何把数组变成动态输入的?
- 如何设置打印的时候不加上页面链接_excel表格的这10个打印小技巧,办公室财务人员记得收藏...
- 3.6.4python下载安装教程_python 3.6.4安装教程
- 敏捷开发的6个实战经验
- asterisk版本选择
- CentOS卸载OpenJDK并安装Sun JDK
- catia linux下载64位,CATIA V5 CATSysDemon.exe缓冲区溢出漏洞