rar.exe 不压缩指定的扩展名和子目录

rar.exe 不压缩指定的扩展名和子目录

我正在开发一个 C# 应用程序,它在某些阶段使用它rar.exe来压缩一些PDB文件。

我想rar.exe压缩仅有的PDB位于某个目录中的文件及其子目录

问题是它压缩了所有文件(甚至不是PDBs)位于该目录中,并且还压缩目录父母我指定的目录——这不是我想要的。

这是我现在正在使用的命令行:

"C:\Program Files\WinRAR\Rar.exe" a -r -ep1 C:\Users\bla\Desktop\VersionTest\3.5.x\2.0\x64\Release\PDB\PDBs.rar *.pdb C:\Users\bla\Desktop\output64

有人知道为什么我的命令行没有提供我想要的东西吗?

答案1

Rar.exe控制台版本的手册压缩包Rar.txt是程序文件文件夹中的文本文件压缩包. 它描述了一般语法、RAR 命令和可以使用的开关Rar.exe以及退出值。

下面的命令行是如何解释的Rar.exe

"C:\Program Files\WinRAR\Rar.exe" a -ep1 -r C:\Users\UserName\Desktop\VersionTest\3.5.x\2.0\x64\Release\PDB\PDBs.rar *.pdb C:\Users\UserName\Desktop\output64
  1. RAR 命令是a。因此应该有文件/文件夹添加到必须创建的 RAR 存档文件(如果该文件不存在)。
  2. 开关-ep1指示Rar.exe排除路径来自所有指定的文件/文件夹直到最后一个反斜杠。
  3. 该开关不仅指示存档指定的文件/文件夹,还指示存档找到的所有其他文件和文件-rRar.exe递归地与指定文件夹中的通配符模式匹配。
  4. C:\Users\UserName\Desktop\VersionTest\3.5.x\2.0\x64\Release\PDB\PDBs.rar是完全合格的档案文件名。
  5. *.pdb指示Rar.exe归档在.pdb当前目录(无路径)中以及由于切换而在当前目录的所有子目录中找到的所有文件(和文件夹),其日志名称以不区分大小写结尾-r,而无需将当前目录的路径也添加到存档文件中。
  6. C:\Users\UserName\Desktop\output64指示Rar.exe通过开关存档文件夹中C:\Users\bla\Desktop\output64以及此目录的所有子目录中的所有文件/文件夹,而-r无需通过开关将路径添加C:\Users\bla\Desktop\到存档文件-ep1。 在这种情况下隐式使用的通配符模式适用*于所有文件和文件夹。

但添加到存档文件中的应该只是文件*.pdb匹配目录及其子目录中的通配符模式C:\Users\UserName\Desktop\output64。为此,需要以下命令行:

"C:\Program Files\WinRAR\Rar.exe" a -ep1 -ed -r C:\Users\UserName\Desktop\VersionTest\3.5.x\2.0\x64\Release\PDB\PDBs.rar C:\Users\UserName\Desktop\output64\*.pdb

这些论点Rar.exe指导

  1. 在目录中搜索C:\Users\UserName\Desktop\output64递归地在其所有子目录中,由于开关-r
  2. 仅限文件*.pdb由于切换-ed到,因此匹配通配符模式排除具有属性的文件系统条目目录
  3. 排除因为-ep1切换指定路径 C:\Users\UserName\Desktop\output64\来自每个文件的每个完全限定文件名
  4. 添加到存档文件C:\Users\UserName\Desktop\VersionTest\3.5.x\2.0\x64\Release\PDB\PDBs.rar

相关内容