与 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
开关来专门排除文件夹及其内容。