1

ОС: Windows XP

Требования:

  1. Поддержка сжатия / распаковки в формате zip
  2. Как gzip может использовать исходное имя файла в качестве имени файла архива, так что нет необходимости указывать имя файла архива. gzip target_folder , поэтому вывод будет target_folder.zip .

2 ответа2

3

7-zip имеет такое поведение и может сжимать / распаковывать формат zip:

альтернативный текст

Как видите, расширение файла было удалено, а остальная часть имени файла используется в качестве имени архива.

Изменить: Для решения командной строки вы все еще можете использовать 7-Zip. Проверьте мой сценарий здесь. Вы можете изменить это так:

#!C:/Perl/bin/perl.exe

use warnings;
use strict;

exit unless @ARGV;

my $path = "C:\\Program Files\\7-Zip\\7z.exe"; # modify this accordingly
my $infile = (split /\./,$ARGV[0])[0];

system("\"$path\" a $infile.zip @ARGV");

Только что проверил это на моей папке fasm:

альтернативный текст

1

Самое простое, что вы можете сделать (если вы хотите сжать только один файл или дерево каталогов на архив), это поместить одну из следующих строк в пакетный файл в каталоге установки 7-Zip (например, zip.bat):

Для архива Zip : 7z.exe -tzip -r a %~n1.zip %1
Для 7-Zip- архива: 7z.exe -r a %~n1.7z %1

А затем позвоните с помощью: zip.bat target_folder

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .