7zip w wierszu poleceń: czy mogę używać przełączników włączania i wyłączania?

2

Oto moja struktura katalogów (w Windows 8.1):

parentdir\
    child1\
    child2\
        grandchild1\
        grandchild2\
        grandchild3\
        ...
    child3\
    child4\
    ...

Używając 7-Zip w wierszu poleceń, próbuję zautomatyzować skrypt kompresji, aby zarchiwizować całą zawartość parentdirpliku parentdir.zip.

W wynikowym archiwum muszę wykluczyć całą zawartość child2oprócz grandchild1.

Mógłbym wybrać:

7z a -r parentdir.zip parentdir\* -xr!child2\grandchild2 -xr!child2\grandchild3, etc. 

Problem w tym, że może być dowolna liczba wnuków!

Znowu bawiłem się z czymś takim jak:

7z a -r parentdir.zip parentdir\* -xr!child2\* -ir!child2\grandchild1\*

Polecenie działało ładnie, całkowicie ignorując mój drugi przełącznik (włącz).

Czy mogę używać przełączników włączania i wyłączania na tej samej linii? Jeśli tak to jak? A jeśli nie, jak mogę osiągnąć cel, który właśnie opisałem powyżej, w moim drzewie katalogów?

Dziękuję Ci.

Ifedi Okonkwo
źródło
W tym przypadku te -xi -iprzełączniki są ze sobą sprzeczne, więc możesz to zrobić 7z a -r parentdir.zip -ir!parentdir\child2\grandchild1\ od swojego rodzicaparentdir . Jeśli twoja struktura katalogów zmienia się co jakiś czas, więc będziesz musiał często zmieniać skrypt, możesz to zrobić za pomocą wyników forpolecenia. Zacznij od for /F "tokens=*" %G in ('dir /ad /s /B parentdir') do @echo %Gpierwszego spojrzenia.
JosefZ,