Masz pomysł, jak wykluczyć ścieżki z symbolami wieloznacznymi z wiersza polecenia 7zip?
Robię coś takiego:
7z.exe a -t7z archive.7z FolderToArchive\ -mx0
i chciałby, aby wykluczyć jakiekolwiek \bin\*.*
lub \obj\*.*
foldery znalezione pod „FolderToArchive”.
Aby wykluczyć pliki, możesz użyć -x
parametru. Plik pomocy zawiera ten przykład użycia -x
:
7z a -tzip archive.zip *.txt -x!temp.*
To świetnie wyklucza plik. Ale znowu chciałbym wykluczyć folder określony ze znakiem zastępczym. Pod moim „FolderToArchive” istnieje wiele folderów, w tych folderach nie mogą lub nie mogą być bin\
i obj\
foldery. Chciałbym nie uwzględniać ich w archiwum.
Próbowałem takich wzorów
-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\\bin\\*
-x!\\bin\\*.*
Wydaje się, że żaden nie wyklucza bin\
folderu. Czy to po prostu ograniczenie 7zip?
command-line
7-zip
Yoopergeek
źródło
źródło
-xr0!*.zip
- przynajmniej nie mogłem go uruchomić bezr0
.'-x!$RECYCLE.BIN'
celu wykluczenia Kosza zewnętrznego dysku.Aby uniknąć błędu, ostrożnie używaj opcji -r lub -xr.
załóżmy, że masz katalogi takie jak:
i uruchom polecenie:
co masz w archiwum. 7z:
Oznacza to, że
.\path2\
i.\path5\
stał się górny folder, w archive.7z, a obabin
katalogi zostały wyłączone.-x obsługuje tylko ścieżkę / nazwę pliku względem najwyższego folderu w archiwum.
Tak więc, jeśli chcesz tylko wykluczyć
.\path1\path2\bin
, ale dołączyć wszystkie inne katalogi „bin”, polecenie powinno wyglądać tak:Próbowałem użyć ścieżki bezwzględnej w -x, ale nigdy się nie udało.
Aktualizacja:
W
-spf
Linuksie jest dostępna opcja 7z, która działa ze ścieżką bezwzględną.Według Marco ,
-spf
jest również dostępny na Windows od 7-zip 15.14źródło
'-x!path2\bin'
aby nie wpaść na substytucję powłoki ... (znacznie dłuższe, niepoprawne składniowo „polecenie” ...)'-xr!\.foo'