问题标签 [unrar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1379 浏览

linux - 在目录和所有子目录中递归解压缩和删除

我正在尝试编写一个脚本,该脚本将抓取我的 Plex 媒体文件夹,找到任何标题“.r00”文件,将它们解压缩到它们自己的目录中,并在完成后丢弃存档 zip。我有两个我一直在玩的选择。结合他们做我想做的事,但我想把这一切都放在一个漂亮的小脚本中。

选项1:

  • 此脚本打开“LinRAR”GUI,让我导航到特定目录,在该目录中查找并提取任何 .r00 文件,并成功删除所有存档 zip。

    /li>

选项 2:

  • 此脚本 cd 到我的 Plex 文件夹,递归查找任何 .r00 文件,解压缩到我的 /home/user 文件夹,并且不删除存档 zip。

    /li>

我希望有一些东西可以使用第一个工作脚本,并将递归查找应用于 /Plex 内的所有文件夹,而不是让我一次通过“LinRAR”GUI 导航到一个文件夹。

0 投票
1 回答
1231 浏览

java - 资源适配器存档 (RAR) 是否与 Roshal ARchive (RAR) 相同?

他们都指的是同一件事吗?它们有关系吗?

根据 Oracle 的资源适配器存档 (RAR) 是:

资源适配器存档 (RAR):RAR 文件包含一个资源适配器。由 J2EE 连接器体系结构规范定义,资源适配器是一个可移植的组件,它使企业 bean、Web 组件和应用程序客户端能够访问资源和外部企业系统。资源适配器通常称为连接器。RAR 文件名具有 .rar 扩展名

根据维基百科,Roshal ARchive (RAR) 是

RAR 是一种专有的[3] 存档文件格式,支持数据压缩、错误恢复和文件跨越。它由俄罗斯软件工程师 Eugene Roshal(RAR 代表 Roshal ARchive)开发,RAR 软件由 win.rar GmbH 授权。

这个问题背后的主要建议是我试图从我的 Java 应用程序中读取资源适配器存档 (RAR),而不使用任何第三方库。然而,每个人都在谈论 Roshal ARchive (RAR) 以及它是如何成为专有的。

所以我在这一点上很困惑。Oracle 实际上是在使用这种专有格式,还是只是扩展命名的相似性?

不管是什么情况,我想知道是否有一个示例可以从我的 Java 应用程序中读取包含在资源适配器存档 (RAR) 中的文本文件。

0 投票
1 回答
2854 浏览

python - 在 OSX 中用 Python 解压缩文件

这让我发疯了,我在这里查看并尝试了许多解决此问题的答案,但到目前为止没有任何结果。

基本问题是我有一些 1300 多个 rar 文件,我想提取并保持一定的组织性,为了让事情变得更有趣,一些 rar 文件包含更多 rar 文件(这就是为什么我不愿意只手动执行此操作)。

我的第一次尝试,我只是想我会做一个简单的 python 脚本,直接调用 unrar:

此代码返回以下内容:

(有人知道错误代码 10 是什么意思吗?)从命令行使用 unrar 没有任何问题。

其次,我尝试使用 libarchive,但尽管没有构建错误,但我无法导入库。

接下来我选择了pyunpack:

这引发了“没有这样的文件或目录”错误。

然后我尝试了 patoolib:

这个抛出了以下内容:

尽管当我直接从命令行运行 patool 时出现此消息,但该文件未解压缩,没有任何问题。

所以我回到原来的 subprocess 解决方案并尝试使用 patool 而不是 unrar

并得到以下信息:

当我还有几根头发没有拔掉时,有什么想法或建议吗?

0 投票
1 回答
371 浏览

bash - 在没有解压缩的情况下获取 rar 中的文件名

试图将一个 bash 脚本放在一起,但是我坚持这一点。rar 被分成 x 个文件,rar 内是 1 个单个文件。我正在做的如下:

execute.log 如下:

似乎无法让 $name 工作。然而,unrar 工作正常。请帮忙。

0 投票
1 回答
4291 浏览

python - 在 linux 中找不到 unrar 库的路径

我已经在linux系统中安装了unrar 。还按照http://www.cyberciti.biz/faq/open-rar-file-or-extract-rar-files-under-linux-or-unix/这个链接在 linux 系统中安装 unrar 库。我已经设置了一个 UNRAR_LIB_PATH 环境变量(因为它需要unrarexport UNRAR_LIB_PATH=/bin/unrar但是当使用 unrar 时from unrar import rarfile它会向我发送以下错误

找不到解压缩库的路径

请帮我解决这个问题。

0 投票
1 回答
9061 浏览

batch-file - 如何将文件夹中的所有 RAR 文件解压缩到特定的目标文件夹?

我有一个文件批处理将文件夹中的所有 RAR 文件解压缩到子文件夹中。

但是当我运行它时,文件被解压到基本文件夹:

这是我目前正在使用的批处理文件:

为什么 RAR 档案被提取到基本文件夹?

0 投票
1 回答
360 浏览

c++ - 处理来自 unrar DLL 的错误

如果您运行 unrar 的命令行版本,它会在存档无法提取时注销重要信息。我正在尝试对 unrar DLL 做同样的事情。我已经不得不对 DLL 源代码进行一些更改,以支持注册我自己的回调来正确处理提取进度。现在我想正确处理错误报告。确实没有关于使用 unrar 源的文档。

所以我有一个可以调用的工作回调函数

如果我在我的进度 DLL 旁边调用它(所以我知道回调有效),该函数效果很好,但我无法弄清楚错误在哪里被处理。具体来说,我在处理ERAR_BAD_DATA我发现处理的代码之后extract.cpp......但该代码似乎没有运行。我还发现了一些调用RarErrorToDll......我也把回调放在那里,什么都没有。

任何帮助将不胜感激。

对于一些上下文,这是我之前为捕获错误所做的。

这种方法不起作用的原因是错误代码process_file_code告诉您出了什么问题,但其中的存档名称header_data.ArcName是文件开始的存档,不一定是损坏的位置。我正在处理多部分档案,其中一个大文件将跨越多个档案......所以我需要知道哪些档案已损坏,而不仅仅是文件开始的档案。

编辑:

这是unrar源代码的链接

因此,我在 extract.cpp 第 670 行中发现了一个可以放置回调的位置,它确实会向我的应用程序返回错误代码。

但是,这与以前有相同的问题,它在处理文件提取结束时返回错误,而不是在 CRC 失败的地方。

如果我运行可以从 rarlabs 站点下载的 unrar 命令行应用程序,它似乎可以正确处理它并返回正确的错误。我在 unrar 源代码的任何地方都找不到这些错误的文本,所以我只能假设 unrar 源代码实际上并没有构建他们在其网站上发布的 unrar 应用程序。

0 投票
3 回答
88 浏览

java - 拆分两个文件

我使用这个 Linux 命令在 android 中合并了两个文件

猫文件1.png 文件2.zip > 文件3.png

如何再次拆分两个文件?我只想单独检索 zip 文件。

有没有具体的命令?我试过这些代码:

解压文件3.png

将 png 替换为 zip:

解压文件3.zip

但它们都不起作用。我可以打开组合的唯一应用程序是 windows 上的 winrar

而且我在android上尝试了几个解压缩和解压缩应用程序,但除了rarlab的RAR应用程序之外,它们都不起作用

我提到的那些应用程序是否有任何来源可以解压缩/解压缩文件?

0 投票
1 回答
265 浏览

c++ - libunrar RARReadHeader 总是返回 ERAR_BAD_DATA

伙计们,我最近正在研究libunrar,但是当我使用RAR_OM_LIST选项时出错,我可以打印 rar 文件中的第一项,但后来得到ERAR_BAD_DATA了。这是代码:

任何信息,将不胜感激。提前致谢。

0 投票
0 回答
742 浏览

unrar - unrar 的临时目录

并提前感谢所有回答。我在一个非常小的和刚刚定制的分区上运行 slotaz,使用 unrar 作为 root 来解压缩已安装的外部 HD 上的文件,也许我没有指定目标路径,所以我未能解压缩文件以及包含文件系统的分区现在得到 100% 满了,我找不到 unrar 放置它的临时文件,所以我不能手动删除它们以使我的 Linux 再次正常工作。坦克给所有人。