Nie mogę uzyskać kompresora.exe


1

Próbuję emulować Windows Send to/Compressed (zipped) folder funkcja za pomocą narzędzia Microsoft compress.exe, dołączony jako część zestawu Windows Server 2003 Resource Kit.

W przypadku tego narzędzia może nie być to możliwe, ale mam problem z tym, żeby coś wyprodukowało. Próbowałem tego scenariusza:

md test
cd test
md folder
echo this is file 1 >folder\file1.txt
echo this is file 2 >folder\file2.txt
md output
compress folder\*.* output -z

    Microsoft (R) File Compression Utility  Version
    Copyright (C) Microsoft Corp. 1990-1999.  All rights reserved.

    Compressing folder\file1.txt to output\folder\file1.txt using MS-ZIP compression.
    Compressing folder\file2.txt to output\folder\file2.txt using MS-ZIP compression.

dir /s

    Volume in drive C is TI80140500H
    Volume Serial Number is AC18-E911

    Directory of C:\test

    12/05/2015  01:22 a.m.    <DIR>          .
    12/05/2015  01:22 a.m.    <DIR>          ..
    12/05/2015  01:34 a.m.    <DIR>          folder
    12/05/2015  01:22 a.m.    <DIR>          output
                  0 File(s)              0 bytes

    Directory of C:\test\folder

    12/05/2015  01:34 a.m.    <DIR>          .
    12/05/2015  01:34 a.m.    <DIR>          ..
    12/05/2015  01:35 a.m.                15 file1.txt
    12/05/2015  01:36 a.m.                17 file2.txt
                  2 File(s)             32 bytes

    Directory of C:\test\output

    12/05/2015  01:22 a.m.    <DIR>          .
    12/05/2015  01:22 a.m.    <DIR>          ..
                  0 File(s)              0 bytes

        Total Files Listed:
                  2 File(s)             32 bytes
                  8 Dir(s)  558,695,092,224 bytes free

Nie widzę żadnych plików wytworzonych przez tę pozornie udaną sekwencję. Jak się namówić compress stworzyć spakowany folder - czy cokolwiek?

** AKTUALIZACJA **

Oto pomoc dla narzędzia:

Syntax:

   COMPRESS [-R] [-D] [-S] [ -Z | -ZX ] Source Destination
   COMPRESS -R [-D] [-S] [ -Z | -ZX ] Source [Destination]

Description:
   Compresses one or more files.

Parameter List:
   -R           Rename compressed files.

   -D           Update compressed files only if out of date.

   -S           Suppress copyright information.

   -ZX          LZX compression. This is default compression.

   -Z           MS-ZIP compression.

   Source       Source file specification. Wildcards may be
                used.

   Destination  Destination file | path specification.
                Destination may be a directory. If Source is
                multiple files and -r is not specified,
                Destination must be a directory.

Examples:
    COMPRESS temp.txt compressed.txt
    COMPRESS -R *.*
    COMPRESS -R *.exe *.dll compressed_dir

Pierwszy z trzech przykładów wygląda tak, jakby pobierał plik i tworzy skompresowaną wersję tego pliku. Które to robi.

Drugi robi to, czego można oczekiwać, produkując tempt.tx_.

Trzeci COMPRESS -R *.exe *.dll compressed_dir faktycznie coś robi, kłamiąc z moich wcześniejszych twierdzeń. Tworzy plik katalog_kompresowany_, który chyba zawiera pliki. COMPRESS -R *.txt *.vbs folder compressed_dir z drugiej strony ignoruje folder AFAICT. COMPRESS -R folder compressed_dir daje błąd "ERROR: The compressed_dir file is not found.".

Moim wnioskiem jest to, że nie może on kompresować folderów i nie może tworzyć plików ZIP / skompresowanych folderów.

Cokolwiek, zrezygnowałem i użyłem 7Zip, który działa jak uczta.


compress.exe nie jest odpowiednikiem wiersza polecenia funkcji folderu skompresowanego (zip) w systemie Windows. Dlaczego i tak musisz użyć programu compress.exe? Dostępnych jest zillionowych narzędzi ZIP, z których wiele jest darmowych i open source.
Karan

Dzięki @Karan - byłem w błędnym przekonaniu, że była to implementacja wiersza polecenia funkcji wysyłania do skompresowanego folderu.
rossmcm

Odpowiedzi:


0

Nie wierzę w to, do czego jest przeznaczone narzędzie. Jego artykuł w TechNet mówi możesz dekompresować takie pliki tylko za pomocą Expand.exe. Ponadto ostrzega, aby nie używać Compress.exe na systemie plików NTFS i instruuje używanie Compact.exe zamiast.

Jeśli użyjesz Compact, zobaczysz, że umożliwia kompresję na poziomie systemu plików. Nie jestem pewien, które narzędzie jest powiązane z Wyślij do → Folder skompresowany (zip) , ale te nie wydają się nimi być.


Nie rozumiem, dlaczego system plików ma z tym coś wspólnego. Zrozumiałem, że kompres zawiera pliki lub foldery i pliki wyjściowe. Udało mi się uzyskać pliki skompresowane, ale nie z folderu. Jak myślisz, co faktycznie zrobił, gdy zgłosił, że kompresuje pliki?
rossmcm

Myślę, że jest to coś związanego z budowaniem systemów, na przykład z obrazami. Skompresowane pliki, czy możesz je rozpakować, czy w ogóle nie są standardowymi plikami zip? Widzisz, wydaje się, że istnieje inny cel zestawu narzędzi.
Louis

Jeśli chodzi o system plików, myślę, że NTFS daje lepsze wyniki, włączając kompresję systemu plików niż Compress.
Louis

compress -z -r file1.txt produkuje file1.tx_. expand file1.tx_ file2.txt produkuje file2.txt który jest identyczny z oryginałem. Jest dla mnie całkiem jasne, jak ma działać - po prostu nie mogę tego zrobić do całych folderów, jak sugeruje to dokumentacja.
rossmcm

1
Dlaczego miałoby to tworzyć folder w pliku? Albo dlaczego, twoim zdaniem, to właśnie ma na celu to narzędzie? Próbuję wrócić do idei, że może to być niewłaściwe narzędzie do pracy.
Louis
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.