问题描述
我正在尝试使用名为 archiver
的 npm 包压缩共享文件夹,即压缩时正在使用的文件夹。
如果您尝试使用流行的存档程序(如 7zip)执行此操作,它会警告您文件夹的内容正在使用中,并且不会将这些文件添加到存档中。我了解这是预期行为。
但是,在使用 7zip 命令行实用程序时,您可以提供 -sww
标志以指示您正在将共享文件夹的内容添加到存档中,并且它可以按预期完美运行。
我正在尝试使用 archiver
npm 包在 Node.JS 中实现相同的行为,但是我在官方文档中找不到任何相关信息。
这是我尝试过的:
import archiver from "archiver";
const archive = archiver("zip",{
gzip: true,zlib: { level: 9 },});
archive.pipe(
fs.createWriteStream(path.join(__dirname,"finalZip.zip"))
);
archive.directory(path.join(__dirname,"folderInUse"),"folderInUse");
archive.finalize();
这会引发错误:
[Error: EBUSY: resource busy or locked,read] {
errno: -4082,code: 'EBUSY',syscall: 'read'
}
使用上述库可以做到这一点,还是我必须使用其他东西?
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)