在我的测试中我的文件夹结构如下:
D:\Data\1.db
D:\Data\2.db
D:\Data\3.db
D:\Data\FolderA\1.db
D:\Data\FolderA\2.db
D:\Data\FolderA\3.db
这是我在现实生活中遇到的复杂情况的一个简单示例。我使用包含列表仅备份文件.db
(以及许多其他文件类型),但我不想压缩任何子目录,但我可能不知道子目录的名称。
所以问题是,当子目录的名称未知时,如何使用包含列表压缩文件,同时排除所有子目录?
我已经尝试了文件夹中的以下内容D:\Data
,结果在括号中
7za a -t7z D:\Backups\data.zip -r- -ir@"D:\data\include.txt" :: (sub-dirs included)
我将-r-
上面的行改为下面的行,结果用括号括起来
-xr- [incorrect command line]
-xr-!* [nothing zipped]
-xr!* [nothing zipped]
答案1
找到下面引用的答案如果你想使用7-zip,棘手的部分似乎是说服它不要递归;文档指示的-r-
开关似乎不起作用,软件作者建议的解决方法是-x!*/
在 Linux 上使用通配符表达式排除子目录,而-x!*\
在 Windows 上则不然。