假设我有一个目录结构,如

C:\Users\Desktop\abc\d

我想对 abc 文件夹进行 rar 存档,这样 rar 的结构是:
abc\d

当我尝试使用 powershell 进行存档时,winrar 会复制存档内的完整路径,例如:
\Users\Desktop\abc\d

我不希望在存档内创建完整路径
这是脚本:
https://gist.github.com/saurabhwahile/50f1091fb29c2bb327b7

我究竟做错了什么?

最佳答案

使用命令行:

Rar.exe a -r -ep1 Test.rar "C:\Users\Desktop\abc"
Rar.exe WinRAR 的控制台版本,与 WinRAR.exe 存储在同一目录中。如果您想在图形窗口中查看压缩过程,也可以将此命令行与 WinRAR.exe 一起使用。
a 是命令,表示将文件添加到存档。
-r 是将所有文件和子目录(包括空子目录)递归添加到存档的开关。
-ep1 是另一个导致排除基目录的开关。

对于此命令行,基本目录是“C:\Users\Desktop\”,因此创建的存档 Test.rar 仅包含 abc 以及目录 abc 中的所有文件和子目录,这正是您想要的。

另一个提示:使用命令行
Rar.exe a -r -ep1 Test.rar "C:\Users\Desktop\abc\"

导致将目录 abc 的所有文件和子目录添加到存档中,但没有目录名称 abc 也存储在存档中。末尾的反斜杠产生了这种差异。

换句话说:在使用开关 -ep1 时,文件/目录规范中直到最后一个反斜杠的所有内容都不会添加到存档中。

有关可用开关的更多信息,请参阅 WinRAR 程序文件目录中的文本文件 Rar.txt

关于powershell - Winrar 命令行和 Powershell : Exclude Full Directory Path Structure,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24250817/

10-12 20:49