假设我有一个目录结构,如
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/