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!tmp1\*\a\* -x!tmp1\*\a
吗? - Wug-x!tmp1\f2
的尝试来修剪整个枝干,那么为什么-x!tmp1\*\a
不能起到同样的作用呢?不过我会尝试一下的,感谢您的建议。 - Mark Robbins