Winrar CommandLine & Powershell:排除完整目录路径结构
Posted
技术标签:
【中文标题】Winrar CommandLine & Powershell:排除完整目录路径结构【英文标题】:Winrar CommandLine & Powershell : Exclude Full Directory Path Structure 【发布时间】:2014-06-16 19:31:23 【问题描述】:假设我有一个类似的目录结构
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 命令。还要在此处粘贴您的代码 - 或至少粘贴相关位 - 而不是链接到外部源。
【参考方案1】:
使用命令行:
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。
【讨论】:
以上是关于Winrar CommandLine & Powershell:排除完整目录路径结构的主要内容,如果未能解决你的问题,请参考以下文章
ROS从入门到精通系列(二十)rosbag & record 工具
如何使用 System.CommandLine 绑定 NodaTime.Duration?
使用带有自定义 Main() 签名的 System.CommandLine