问题标签 [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 投票
4 回答
80406 浏览

command-line - 如何使用 WinRAR 命令行提取 ZIP 文件?

尝试提取 zip 文件时出现错误:

c:\path\name.zip 不是 RAR 压缩包
没有要解压的文件

我的代码是:

GUI 版本可以提取 zip 和 7z 文件。

为什么这不起作用?如何提取 zip 和 7z 文件?

(注意:我有不同的 7zip 源代码。我想我可以将两者合并,并且仅在文件具有 rar 扩展名时使用上述源代码。但我不喜欢那个解决方案。)

0 投票
3 回答
559 浏览

java - 一次编写,随处运行的语言 & Unrar for AIR

我想问是否有任何其他只写一次,在任何地方运行的语言,如 Java 或 AIR。到目前为止,我主要是一名 Java 开发人员,我刚刚发现了一点 Python 和最近的 AIR,这让我的兴趣达到了顶峰。

另外我想知道是否有任何用于 AIR 的 unrar 库或以某种方式使用 AIR 读取 RAR 档案,有点像你如何使用 FZip 和 zip 文件。Kinda 想要一个比在我的程序中包含 Win/Lin/OSX 二进制文件并使用基于系统的二进制文件更好的解决方案。

另外,我不介意编译语言,只要我可以编写一组代码,并且可以将其编译到所有平台,而几乎没有更改。有点不想使用任何特定于操作系统的代码或 API,这就是我要求使用 AIR 或 Java 等运行时语言的原因。Python 也是如此,但它需要一些特定于操作系统的文件管理编码。

0 投票
1 回答
2568 浏览

gpu - 使用 ATI 流处理器在 GPU 上恢复 RAR 密码

我是 GPU 编程的新手,我使用 brook+ 语言在 ATI 流处理器上进行蛮力 RAR 密码恢复,但我看到用 brook+ 语言编写的内核不允许对正常函数进行任何调用(内核函数除外),我的问题是:

1) 在这种情况下如何使用 unrar.dll (to unrar archive files) A​​PI?这是编程RAR密码恢复的唯一方法吗?

2)使用GPU的破解和ElcomSoft软件怎么样,它们是如何工作的?

3)这个程序中GPU(ATI流处理器或CUDA)内的功能究竟起到了什么作用?

4) nVidia/CUDA 技术是否比 ATI/brook+ 语言更容易/更灵活?

0 投票
1 回答
1352 浏览

php - PHP exec_shell 使用 unrar.exe

我正在运行以下 php 代码;

哪个不起作用...我希望它将文件提取到同一目录中。如果我将 exec 的内容复制到命令行提示符中,它工作得很好,所以有点困惑。

尝试以下;

返回 unrar 帮助文件的最后一行(这是预期的)。

0 投票
2 回答
3106 浏览

c# - 如何在 C# 中使用 SevenZipSharp/Unrar 知道哪个 rar 在多 rar 档案中是第一个?

我正在尝试在 C# WinForms .NET 3.5 中使用 SevenZipSharp 或/和 Unrar 库。我对具有不同命名的多 rar 档案有这个问题,例如:

  • .rar, r01, r02, r03 等等(这个很简单)
  • somefile01.rar, somefile02.rar, somefile03.rar

  • .001、.002、003 等等。

如果我将 Unrar 或 SevenZipSharp 指向错误的存档,它将解压该特定存档并让其余部分解压。所以我必须指出正确的(除非我做错了什么)。

最好的检查方法是什么?现在我正在检查目录中是否有多个 .rar 文件,如果有,我检查 01.rar。如果只有一个 .rar 和几个 r01 ,那么我会得到 .rar ,但这似乎有点错误。

有没有办法让 SevenZip 或 Unrar 仅通过指向任何 .rar 文件来实际解压缩整个多 rar 包?或 .001 ?

愤怒的少年

编辑:

我尝试使用以下代码来获取一个答案中建议的信息,但它未能提供承诺的信息。extr.ArchiveFileData 对于 zip 返回 0,对于任何提供的 rar(无论是 rar 还是 r01)返回 32。

0 投票
2 回答
2148 浏览

c# - 属性参数必须是常量表达式在 C# 中有没有办法解决这个问题?

我正在编写涉及使用 unrar 的代码(WinForms C# NET 3.5)。

因为我希望代码同时在 32BIT 和 64BIT 上工作,所以我想根据系统位数的检查通过字符串 unrarDll 分配 UNRAR64.DLL 或 UNRAR.DLL。

抛出错误:

An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type

有没有简单的方法解决这个问题?这样做的正确方法是什么?

0 投票
3 回答
10255 浏览

c++ - 使用 unrar 库 - 将文件提取到文件流缓冲区

我需要的是能够将 .rar 文件中的文件提取到流中。我正在创建一个测试用例来了解如何使用unrar source。我一直在搜索和修补一段时间,但我不知道如何使用该库。考虑到 .rar 档案的普遍性,我很惊讶我什至找不到它的文档或教程。

我自己取得了一些进展,但并不总是奏效。某些文件已正确提取。其他文件由于某种原因而混乱(但不完全是“垃圾”二进制数据)。到目前为止,我所知道的是,通常(但并非总是):

  • 不工作的文件有fileInfo.Method = 48. 它们似乎是压缩率为 100% 的文件 - 即没有压缩

  • 工作文件有fileInfo.Method = 49, 50, 51, 52, 或53, 对应于压缩速度, Fastest, Fast, Normal, Good, Best

但我不知道为什么会这样。仍然找不到文档或工作示例。

下面是我目前拥有的测试用例源代码和一个示例 rar 存档,当使用该程序提取时,它既有工作文件又有不工作文件。

更新:

我发现了一个似乎是(声称是?)文档的文件,但根据该文件,我没有做错任何事情。我想我可能会被迫求助于 CRC 检查缓冲区并在失败时实施解决方法。

解决方案来源(感谢 Denis Krjuchkov!):

0 投票
1 回答
7023 浏览

c - 用c代码解压rar文件

可能重复:
用c打开一个rar文件

我必须使用 c 代码提取 rar 文件。首先,我试图找到图书馆。我从http://www.unrarlib.org/得到它。但它是 2002 年构建的。所以它不支持当前的 rar 格式。然后我检查了http://www.rarlabs.com/rar_add.htm。它有库,但在 c++ 中。我对c++一无所知,所以我不能使用它们。我尝试通过使用系统功能来使用命令行工具 unrar。当我在 CMD 中使用 unrar 时,它提取了文件,但是当我在 C 中使用它时,(命令是 system( "unrar -e -p password protected_file.rar");)它只是打开了档案。它没有提取文件。现在我不知道下一步该怎么办?有人可以建议我吗?

这是我用来打开 rar 文件的代码。在系统命令中,ranjit 是密码。它在模块+文件名中给出了错误未定义的符号系统。有谁能够帮我??两天以来,我一直在为此苦苦挣扎。

0 投票
3 回答
7335 浏览

linux - Help debugging a cron job which has the correct script path and works when manually triggered

I'm struggling trying to debug a cron job which isn't working correctly. The cron job calls a shell script which should unrar a rar file - this works correctly when i run the script manually, but for some reason it's not working via cron. I am using the absolute file path and have verified that the path is correct. Has anyone got any ideas why this could be happening?

0 投票
4 回答
1040 浏览

php - 从 php 中的 wget 获取文件名

我正在设置一个脚本,以便我可以输入一个网页的 URL,并且该脚本将wget文件。但是,大多数文件将采用该*.rar格式。无论如何我可以将文件名传递给unrar命令以取消归档通过下载的文件wget吗?

非常非常感谢提前!

编辑我考虑过使用 PHP 的explode()函数通过斜杠 () 来分解 URL,/但这似乎有点 hack-y。