使用 WinRAR 命令行排除顶级目录中的文件扩展名,但不排除子目录中的文件扩展名

使用 WinRAR 命令行排除顶级目录中的文件扩展名,但不排除子目录中的文件扩展名

我正在尝试使用 WinRAR 命令行对一些文件进行 rar 压缩。这些文件具有以下结构:

Top-Level Dir
|    Text1.txt
|    Text2.txt
|    XML1.xml
|    XML2.xml
|    Inner Dir
|    |    Inner1.txt
|    |    Inner2.txt
|    |    InnerXML1.xml
|    |    InnerXML2.xml

顶级目录和内部目录也可能有更多子目录。

我可以成功压缩文件并保留我想要的结构,但我尝试仅从顶级目录中排除 .xml 文件。我希望我的存档看起来像这样:

Top-Level Dir
|    Text1.txt
|    Text2.txt
|    Inner Dir
|    |    Inner1.txt
|    |    Inner2.txt
|    |    InnerXML1.xml
|    |    InnerXML2.xml

我只能设法从 的子目录中删除 .xml 文件Top-level Dir。我尝试的任何其他方法都会删除所有文件。我尝试了以下命令的多种组合:

rar a -ep1 -x*.xml <destination> <source>
rar a -ep1 -x..\*.xml <destination> <source>
rar a -ep1 -r- -x*.xml <destination> <source>
rar a -ep1 -x*\..\*.xml <destination> <source>

我希望我只是不明白如何正确指定路径。

非常感谢您的帮助。

编辑:我正在运行一台 Windows 机器。

答案1

$ cd <source>
$ mkdir ../tmpdir
$ mv *.xml -t ../tmpdir
$ rar a <destination> <source>
$ mv ../tmpdir/* ./
$ rmdir ../tmpdir

相关内容