手机版

nodejs文件夹深度复制功能

时间:2021-08-20 来源:互联网 编辑:宝哥软件园 浏览:

前段时间接到领导的要求,运营方会给我一些。html文件,这样我就可以分析一些内容并将其插入数据库。最初,它是解析dom元素,然后插入它们,但问题是操作给我的文件是多级的:例如,以下:

我需要的是把我操作的文件夹中的每个文件都复制到某个文件夹中(测试),然后把测试中的所有文件都拿来分析。当初,我是能够吃苦耐劳的。我每次都复制粘贴,但是容易出错。关键是我们是程序员,要用程序员的方式去解决。有的同志会说,这个很简单。找到文件夹‘e :819 Data 819’,读出里面的每个文件夹组成数组,循环复制每个文件。

Fs.readdir('E:/819 data/819 ',' utf-8 ',(err,file list)={ file list . foreach((file,index)={ let URL=from file '/' fs . readdir(from file,' utf-8 ',)single file)={ single file . foreach((file inner,I)={ fs . writefilesync(` $ { to } $ { name } . html `,fs . readfilesync(URL file inner));})})})这是上面的代码实现。一开始我是这样写的(把操作同事给的文件夹里的所有文件都复制到我的测试目录里),但是后来mmp发现有些文件会有多个文件夹嵌套。

这个时候,我们不能一层一层的判断。如果操作嵌套了10层,我们就不能为复制每个文件夹写一串代码。这里只能用递归来解析。

let name=1 copy itdigui(' e :/819 data/819 ',' e :/test/');函数copyItDigui(from,to) {searchFile(from,to);}函数searchFile(from,to){ let stat=fs . lstatsync(from);If(stat.isDirectory()){//如果是文件夹,继续下面的遍历,否则直接复制文件并重命名fs.readdir (from,' utf-8 ',(err,file list)={ file list . 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)。管道(fs . createwritestream(dst));大文件副本}}这里没有ts,可能看起来有点乱,但是都有注释,相信聪明的你也能看懂。执行完代码后,复制就完成了,您也就完成了。

根据预期结果发现,即使我们是前端程序员,也可以订购nodejs,这是相当有用的,可以增强我们的成就感

摘要

以上是边肖介绍的nodejs文件夹的深度复制功能,对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

版权声明:nodejs文件夹深度复制功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。