Я не можу отримати compress.exe для виробництва нічого


1

Я намагаюся емулювати функцію Windows, Send to/Compressed (zipped) folderвикористовуючи інструмент Microsoft compress.exe, що входить до складу комплекту ресурсів Windows Server 2003.

Це може бути неможливо з цим інструментом, але у мене виникають проблеми з отриманням чогось. Я спробував цей сценарій:

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

Я не бачу жодних файлів, створених цією, здавалося б, успішною послідовністю. Як ви можете примусити compressстворити папку на блискавці - або що-небудь взагалі?

** ОНОВЛЕННЯ **

Ось допомога для цього інструмента:

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

Перший з трьох прикладів виглядає так: він бере файл і створює стиснуту версію цього файлу. Що вона робить.

Другий робить те, що ви очікуєте, виробляючи tempt.tx_.

Третій COMPRESS -R *.exe *.dll compressed_dirдійсно робить щось, роблячи брехню моїх попередніх тверджень. Він створює файл compressed_dir._, який, напевно, містить файли. COMPRESS -R *.txt *.vbs folder compressed_dirз іншого боку ігнорує папку AFAICT. COMPRESS -R folder compressed_dirдає помилку "ERROR: The compressed_dir file is not found.".

Так що мій висновок, що він не може стискати папки, і що він не може виробляти ZIP файли / стислі папки.

Як би там не було, я відмовився і використав 7Zip, який працює.


compress.exe не є еквівалентом командного рядка у стислій папці Windows. Чому вам все одно потрібно використовувати compress.exe? Є zillion ZIP утиліти доступні, багато з них вільні і з відкритим вихідним кодом.
Каран

Спасибі @Karan - Я був під помилковим переконанням, що це була командна лінія реалізації функції Send to compressed folder.
rossmcm

Відповіді:


0

Я не вірю, що саме цей інструмент призначений. У статті TechNet сказано, що ви можете лише розпаковувати такі файли за допомогою Expand.exe . Крім того, він попереджає не використовувати Compress.exeфайлову систему NTFS, а вказує Compact.exeзамість цього використовувати .

Якщо ви використовуєте Compact, ви побачите, що він забезпечує стиснення на рівні файлової системи. Я не впевнений, який інструмент пов'язаний з папкою Send to → Compressed (zip) Folder , але це не так.


Я не розумію, чому файлова система має відношення до цього. Я зрозумів стиснути взяли файли або папки і виводили файли. Мені вдалося змусити його створювати стислі файли, але не з папки. Що ви думаєте, що він насправді зробив, коли він повідомив, що він стискає файли?
rossmcm

Я думаю, що це щось пов'язане з побудовою систем, наприклад, з використанням зображень. Файли, які він стискає, ви можете їх витягти або вони взагалі не є стандартними zip-файлами? Ви бачите, що існує інша мета для набору інструментів.
Луї

Що стосується файлової системи, я думаю, що NTFS дає кращі результати, якщо включити стиснення файлової системи, ніж робить Compress.
Луї

compress -z -r file1.txtвиробляє file1.tx_. expand file1.tx_ file2.txtвиробляє, file2.txtякий ідентичний оригіналу. Це досить зрозуміло для мене, як це означало, щоб працювати - я просто не можу змусити його зробити цілі папки, як документація пропонує це може зробити.
rossmcm

1
Навіщо це робити папку у файл? Або чому, на вашу думку, це те, що призначено для цього інструменту? Я намагаюся повернутися до ідеї, що це може бути неправильний інструмент для роботи.
Луї
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.