11

Возможный дубликат:
Как отключить выход 7-Zip?

Я хочу использовать 7z.exe из командной строки для тихого / тихого извлечения архива. Я не хочу использовать сторонние скрипты или API. Есть ли в 7-Zip встроенная поддержка тихого извлечения из командной строки?

2 ответа2

8

Да, он поддерживает использование командной строки. Откройте командную строку и перейдите в папку установки (обычно C:\Program Files\7-Zip) и введите:

7z -h

Вот результат:

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -ssw: compress shared files
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries

Итак, вот один пример тихого извлечения:

7z x "C:\Path\To\File.zip" -y > nul
5

7-Zip не имеет явного "тихого" или "тихого" режима для извлечения командной строки.

Аналогичный вопрос в Stack Overflow, извлекающий 7-Zip-файл "без вывода сообщений" - опция командной строки, дает возможное решение с использованием кода сценариев Python:

Одной из возможностей будет порождение дочернего процесса с помощью popen, поэтому его выходные данные будут возвращаться к родительскому процессу для обработки / отображения (при желании) или же полностью игнорироваться (создайте свой объект popen с помощью stdout = PIPE и stderr = PIPE, чтобы иметь возможность получить вывод от ребенка).

И затем аналогичный вопрос здесь о суперпользователе:перенаправьте вывод командной строки 7-Zip в /dev /null в Windows при извлечении файла .7z, сообщая, что проблема в основном является выходной, и что, отправляя вывод в NULL, вы заставить систему работать практически бесшумно:

Попробуйте сделать это:

% COMSPEC% /c "% ProgramFiles%\7-Zip\7z.exe" ...

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