【发布时间】:2012-08-21 20:58:17
【问题描述】:
Winrar 的一天
我想做的只是使用通配符排除文件夹及其内容,即使在阅读文档后,它也变成了猜谜游戏......
所以我的测试台看起来像:
C:\!tmp1\f1
C:\!tmp1\f1\f1.txt
C:\!tmp1\f1\a
C:\!tmp1\f1\a\a.txt
C:\!tmp1\f2
C:\!tmp1\f2\f2.txt
C:\!tmp1\f2\a
C:\!tmp1\f2\a\a.txt
我正在执行:
C:\>"c:\program files\winrar\winrar.exe" a -r !tmp1.rar !tmp1
这给了我一个以 !tmp1 为根的 rar(唯一的顶级文件夹)。
排除开关是-x<filepathpattern>,可以包含多次。
所以,假设我们要排除 f2 及其所有子内容...
-x*\f2\*
删除内容,但保留 f2
-xf2
什么都不做 - 包括所有
-x\f2
什么都不做 - 包括所有
-x*\f2
什么都不做 - 包括所有(现在我很生气),所以肯定是..
-x\f2\
不,什么都不做 - 包括所有。所以它必须是......
-x*\f2\
地狱不,什么都不做 - 包括所有。我已经知道了
-x*\f2\*
删除内容,但保留 f2。我们继续...
-x*f2\
什么都不做 - 包括所有。呸呸呸。啊哈!怎么样...
-x!tmp1\f2\
不,什么都不做 - 包括所有。哇。好吧,所以它必须是......
-x!tmp1\f2
天哪,它奏效了!嗯,那怎么会……
-x*\f2
不工作? 这个小恶魔一开始就让我走上了这条疯狂的道路,而且应该奏效!
考虑到这一切,我敢尝试去*/a/* 目录,删除内容和目录吗?
-x*\a
不起作用,当然,什么也不做。
-x*\*\a
不起作用,当然,什么也不做。
-x!tmp1\*\a
不。但是……
-x*\a\*
删除两个目录的内容,但保留文件夹。所以,在绝望中我可以使用-ed 开关,它不会存储空文件夹,但这是一个广泛的黑客,我想消除指定的文件夹而不是所有的空文件夹。
随着我对 winrar 的敌意与日俱增,我正在传递信息的接力棒,着眼于那个辉煌的日子,那时我们将知道如何使用通配符而不是使用 -ed 开关来专门排除文件夹及其内容。
【问题讨论】:
-
考虑如果您排除一个目录并在其中包含文件,它无论如何都会被创建的可能性。文档说您可以多次包含 -x 指令。你试过
-x!tmp1\*\a\* -x!tmp1\*\a吗? -
不,我没有尝试基于
-x!tmp1\f2的尝试来修剪整个肢体,那么为什么-x!tmp1\*\a不应该同样工作呢?不过我会试试的,谢谢你的意见。 -
@MarkRobbins,你能解决这个问题吗?你能试试我的解决方案吗?
标签: winrar