Skocz do zawartości

Kompresowane plików poprzez compact /c /s /a /i /f /exe:lzx *.* - Jak dekompresować?


Rekomendowane odpowiedzi

Opublikowano

Witam, znalazłem nową komendę do kompresji plików tym razem dotyczącą WinSxS. Chodzi o tą:

 

cd C:\Windows\WinSxS

compact /c /s /a /i /f /exe:lzx *.*

 

Szukam sposobu by odwrócić sposób tej kompresji przez tą komendę do stanu oryginalnego.

 

Próbowałem już compact /u /s /a /i /f /exe:lzx *.* oraz compact /u /a /exe *.* i w jednym oraz drugim przypadku komenda dekompresuje znacznie mniej plików niż wykonała komenda kompresującą.

 

Jak to wygląda dokładniej:

 

Gdy użyję komendy COMPACT.EXE /CompactOS:always to przykładowo kompresuje mi 1720 plików, i gdy użyję COMPACT.EXE /CompactOS:never to tyle samo czyli 1720 plików dekompresuje do normalnego stanu. Natomiast gdy użyję compact /c /s /a /i /f /exe:lzx *.* to kompresuje mi tyle plików = [Zawartość widoczna tylko dla zalogowanych użytkowników], a po użyciu compact /u /a /exe *.* lub /c /s /a /i /f /exe:lzx *.* dekompresuje tyle = [Zawartość widoczna tylko dla zalogowanych użytkowników].

Przy okazji uruchamiając skrypt z mojego dysku na dane czyli D: zamiast C: znalazłem problem z tym, że nie potrafi on przejść do C:\Windows\WinSxS w tym celu potrzebne jest to:

cd /d C:\

cd C:\Windows\WinSxS

Dzięki temu zauważyłem, że kompresując w innym mniejszym katalogu
też kompresja wynosi więcej, a dekompresja mniej:

[Zawartość widoczna tylko dla zalogowanych użytkowników] = 8 plików.
[Zawartość widoczna tylko dla zalogowanych użytkowników] = dekompresja tego samego katalogu tą samą komendą. 4 plików mniej niż przy kompresji.

Jakieś rady dlaczego pomija pewne pliki przy dekompresji?
;)

 

Opublikowano

Komendy to nie nowość, raz skompresowane pliki później używane same sie "rozkompresowują" kompresja jest przydatna jak masz mało miejsca na dysku a dane pliki używasz sporadycznie tak jak ja z plikami vhd przed kompresją około 90gb po kompresji około 20gb :)

Opublikowano

Spróbuj komendą : 

 

 

[Zawartość widoczna tylko dla zalogowanych użytkowników]
Narzedzie rozwijania plików Microsoft ® wersja 6.0.6000.16386
Copyright © Microsoft Corporation. Wszelkie prawa zastrzezone.

Dekompresuje jeden lub wiecej skompresowanych plików.

EXPAND [-r] zródlo cel
EXPAND -r zródlo [cel]
EXPAND -D zródlo.cab [-F:pliki]
EXPAND zródlo.cab -F:pliki cel

-r Zmienia nazwy zdekompresowanych plików.
-D Wyswietla liste plików w zródle.
zródlo Okresla pliki zródlowe. Mozna uzywac symboli 
wieloznacznych.
-F:pliki Nazwy plików do zdekompresowania z pliku .CAB.
cel Okresla pliki docelowe i/lub sciezke. Miejsce 
docelowe moze
byc katalogiem. Jesli zródlem jest wiele plików i 
nie
okreslono opcji -r, miejscem docelowym musi byc 
katalog.

Gość Devhost97
Opublikowano

 

 


znalazłem nową komendę do kompresji plików tym razem dotyczącą WinSxS. Chodzi o tą:



cd C:\Windows\WinSxS

compact /c /s /a /i /f /exe:lzx *.*

 

No to jednak nie znalazłeś - bo pochodzi ona z tego forum, i nie jest ona nowością bo używaliśmy jej jeszcze za czasów pierwszych Insiderów Win 10 :P

Opublikowano

@dejffid, EXPAND służy do rozpakowywania cabów, a nie do dekompresji plików w ramach nowych mechanizmów Windows 10 :L

Kompresja LZX jest jednorazowa - po skompresowaniu gdy zawartość pliku zostanie zmodyfikowana to plik zostaje automatycznie zdekompresowany.

Opublikowano

Komendy to nie nowość, raz skompresowane pliki później używane same sie "rozkompresowują" kompresja jest przydatna jak masz mało miejsca na dysku a dane pliki używasz sporadycznie tak jak ja z plikami vhd przed kompresją około 90gb po kompresji około 20gb :)

 

Wiem, że nie nowość :) Po prostu wcześniej znałem tylko COMPACT.EXE /CompactOS:always, a na tą wpadłem nie dawno ;)

 

No to jednak nie znalazłeś - bo pochodzi ona z tego forum, i nie jest ona nowością bo używaliśmy jej jeszcze za czasów pierwszych Insiderów Win 10 :P

 

Jak to nie znalazłem? :) Wcześniej tej komendy nie znałem ani nie widziałem jej nigdy :P Wpadłem na nią na [Zawartość widoczna tylko dla zalogowanych użytkowników] i według mnie napisanie znalazłem jest poprawne :) Gorzej jak bym napisał wynalazłem, bo wtedy by świadczyło jak by nikt inny tego nie znał i był bym 1 :P

 

Kompresja LZX jest jednorazowa - po skompresowaniu gdy zawartość pliku zostanie zmodyfikowana to plik zostaje automatycznie zdekompresowany.

 

Jak to możliwe, że po skompresowaniu tą komendą np 1700 plików gdy próbuję od razu zdekompresować z powrotem ten sam katalog to dekompresuje znacznie mniej plików? Z mojego punktu widzenia wygląda to tak jak by polecenie nie dekompresowało wszystkiego właśnie, bo nie wchodząc w żadne pliki, foldery i nie korzystając z niczego w systemie nie możliwe by ten katalog został automatycznie zdekompresowany bo został użyty mimo upływy dosłownie 5 sekund. Chyba, że ja coś źle rozumiem to proszę o wyjaśnienie :) Sam folder WinSxS bym zrozumiał, że przez komendę nie dekompresuje mi wszystkiego itp sam się zdekompresował, ale jeśli odpalam ta komendę i kompresuje prywatne pliki w moim dysku D:/ na dane i nadal kompresja plików jest większa, a dekompresja po 2 sekundach omija już 4 na 8 plików to chyba jednak coś jest na rzeczy.. coś mi się tak wydaje. Co innego jak bym skompresował, wchodził w te pliki, używał i potem chciał zdekompresować, więc po modyfikacji mogło by je już omijać. Ale jest inaczej.

 

Może dla uproszczenia na koniec zapytam - czy jest możliwość ręcznej dekompresji wszystkich plików bez pomijania które skompresowaliśmy przed chwilą metodą kompresji LZX jednorazowej ?

Opublikowano

Jak to możliwe, że po skompresowaniu tą komendą np 1700 plików gdy próbuję od razu zdekompresować z powrotem ten sam katalog to dekompresuje znacznie mniej plików?

Zauważ, że niektóre małe pliki są "kompresowane" w stosunku 1:1, zatem są pomijane, ale wliczają się do liczby skompresowanych plików. W przypadku dekompresji te pliki z ratio 1:1 są pomijane, zatem spada liczba plików do dekompresji.
Opublikowano

Ten skrypt zastępuje compact /c /s /a /i /f /exe:lzx *.* tak? Bo nie wiem które lepiej używać i czy ten skrypt też czyści na zasadzie takiej, że jednorazowo i pliki po modyfikacji są dekompresowane automatycznie? :) Oraz czy na ten skrypt też podziała komenda compact /u /s /a /i /f /exe:lzx *.* jak bym chciał natychmiastowo zdekompresować? :)

Opublikowano

czy ten skrypt też czyści na zasadzie takiej, że jednorazowo i pliki po modyfikacji są dekompresowane automatycznie?

Każde skompresowane pliki systemowe są automatycznie dekompresowane. W wypadku tej komendy (lzx) nie będą one automatycznie skompresowane ponownie. Pozostaną już zdekompresowane. 

Na ten skrypt podziała komenda (w przypadku dekompresji):

[Zawartość widoczna tylko dla zalogowanych użytkowników]

Automatyczna kompresja działa ponownie tylko w przypadku CompactOS:always.

Gość Devhost97
Opublikowano

 

 


Jak to nie znalazłem? :) Wcześniej tej komendy nie znałem ani nie widziałem jej nigdy :P

 

Widać że za mało siedzisz na Winclubie :L :L Wiem o tym bo sam pisałem tam poradnik XD

Wystarczy dobry research i można znaleść źródło wszystkiego :)

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie