繁体   English   中英

使用electronjs将目录从外部驱动器复制到本地文件夹的最佳方法?

[英]Best way to copy a directory from an external drive to a local folder with electronjs?

只是想知道是否有人曾尝试将目录从外部驱动器(通过 USB 连接)复制到本地文件夹。

我正在使用 ElectronJS,因此我可以使用我的 JavaScript、HTML/CSS 技能来创建桌面应用程序,而无需使用 C 语言。 (即 C# 或 C++) 有了 ElectronJS,就不用担心很多了。

这是我到目前为止尝试过的事情的清单:

  • 基本的 fs.copyFile(最初使用 copyFile,然后循环目录以复制所有文件)

     var fs = require('fs'); window.test = () => { fs.moveSync("targetFile","destDir", function(err) { if(err){ console.log(err); }else{ console.log("copy complete") } }); }

fs.moveSync 不是 function,尽管当我输入 fs 时 Visual Studio Code 提出了 moveSync 作为建议。 (Ctrl + 空格)

  • 使用 child_process 函数使用命令行复制文件。 代码是:

     var process = require('child_process') window.test = function(){ process.exec('ipconfig', function(err, stdout, stderr){ if(err){ console.log(err); }else{ console.log(stdout) } }) }

然后与browserify捆绑在一起。 然后将 Bundle.js 导入到 html 文件中,然后单击按钮调用测试 function。 我知道命令是 ipconfig 现在,这只是用来查看是否可以执行命令。 看起来它可能是因为我得到了 process.exec 没有定义。

  • 使用 node-hid 节点模块从外部驱动器读取和传输数据。

此模块中的公开函数也被报告为未定义。 而且我考虑用例的时间更长,我认为一个简单的复制过程就足够了,因为可以像文件资源管理器中的任何其他文件夹一样访问外部驱动器。

不幸的是,以上所有方法都失败了,我一天中的大部分时间都在寻找替代模块和/或解决方案。

提前感谢,因为任何帮助实现这一点将不胜感激。

谢谢

帕特里克

npm package fs-extra应该可以解决您的问题。

它有move function,它

移动文件或目录,甚至跨设备

最后将此添加到我的 preload.js 中:

window.require = require;

它现在可以使用,但会贬值。 我将暂时使用它,并在必要时进行其他更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM