7Zip исключить все подкаталоги

7Zip исключить все подкаталоги

В моем тесте структура папок выглядит следующим образом:

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-молния, то, похоже, самая сложная часть заключается в том, чтобы убедить его не выполнять рекурсию; указанный в документации -r-переключатель, по-видимому, нефункционален, и предлагаемый автором программного обеспечения обходной путь заключается в исключении подкаталогов с помощью подстановочного выражения -x!*/в Linux и -x!*\Windows.

Связанный контент