Winrar命令行和PowerShell:排除完整目录路径结构

3
假设我有一个类似于以下的目录结构:

C:\Users\Desktop\abc\d

我想将abc文件夹进行rar归档,使得rar的结构如下:
abc\d

当我尝试使用PowerShell进行归档时,WinRAR会在归档文件中复制完整路径,例如:

\Users\Desktop\abc\d

我不希望在存档文件中创建完整路径。 以下是脚本: https://gist.github.com/saurabhwahile/50f1091fb29c2bb327b7 我做错了什么?

你可以跳转到存档所在的根目录,比如 cd C:\Users\Desktop 然后对 abc\d 运行你的 WinRAR 命令。同时,请将你的代码粘贴到这里——或至少是相关的部分——而不是链接到外部来源。 - Raf
1个回答

12

使用命令行:

Rar.exe a -r -ep1 Test.rar "C:\Users\Desktop\abc"

Rar.exe是存储在与WinRAR.exe相同目录下的WinRAR控制台版本。您也可以使用此命令行与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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接