Разархивируйте файлы (7-zip) с помощью команды cmd

Пытаюсь распаковать файл через CMD.

Поэтому я устанавливаю WinZip (и его плагин для cmd), WinRAR и 7-zip.

Но когда я пытаюсь выполнить команду через CMD:

7z e myzip.zip

Выдает следующую ошибку:

7z is not recognized as an internal or external command

Кроме того, я добавил папку 7-z к переменным среды (Свойства -> расширенный -> Переменные среды -> пользовательская переменная -> выберите путь и добавьте C:\Program Files\7-Zip

В чем может быть причина?

I find the below solution for this.

при архивировании в cmd или git bash - ошибка вроде

 7z:command not found 

решение:

  • установите 7z на свой компьютер
  • set the path in Environment Variables -> User Variables
    • path -> edit -> new (add the path - C:\ProgramFiles\7-Zip) -> OK

Теперь, чтобы использовать 7z в git bash -

  • Перейдите в C: \ Program Files \ 7-Zip и скопируйте файл 7z.exe.
  • Перейдите в C: \ Program Files \ Git \ usr \ bin и вставьте файл 7z.exe.

Теперь вы сможете использовать 7z с Git Bash.


person Adam Sh    schedule 02.01.2013    source источник
comment
Я считаю, что вам не хватает 7za.exe, который используется в качестве инструмента командной строки (см. 7- zip.org/download.html, версия для командной строки)   -  person Najzero    schedule 02.01.2013
comment
вы, наверное, имеете в виду 7z x, а не e ...   -  person Yordan Georgiev    schedule 05.10.2016
comment
Кроме того, попробуйте перезапустить bash после установки переменной среды и копирования .exe, если он не работает.   -  person vytaute    schedule 07.05.2021


Ответы (4)


Для меня работает следующее в командной строке, а также добавление переменных среды пользователя:

set PATH=%PATH%;C:\Program Files\7-Zip\
echo %PATH%
7z

Вы должны увидеть результат (или что-то подобное - как на моем ноутбуке под управлением Windows 7):

C:\Users\Phillip>set PATH=%PATH%;C:\Program Files\7-Zip\

C:\Users\Phillip>echo %PATH%
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Wi
ndows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\
WirelessCommon\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\To
ols\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Fil
es (x86)\QuickTime\QTSystem\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Notepad+
+;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\7-Zip\

C:\Users\Phillip>7z

7-Zip [64] 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
person Phil Street    schedule 02.01.2013
comment
чтобы избежать необходимости делать это для каждого сеанса, вы можете вместо этого использовать setx: setx PATH "%PATH%;C:\Program Files\7-Zip\". Затем перезапустите CMD (или используйте исходную команду set, чтобы установить ее и для текущего сеанса) - person Ewout; 27.01.2016
comment
@Ewout Для меня это впервые убедительно доказало, что добавление к PATH обычно означает добавление к user path, а не к system path, поскольку setx добавляет к user path. Это может быть ясно всем, я не знал этого даже после десятков раз смены environmental variables. - person questionto42; 19.08.2020

Что касается сообщения Фила Стрит:

На самом деле он может быть установлен в папке с 32-разрядной программой вместо x64 по умолчанию, если вы используете 64-разрядную ОС. Проверьте, где установлен 7-zip, и если он находится в Program Files (x86), попробуйте вместо этого использовать это:

PATH=%PATH%;C:\Program Files (x86)\7-Zip
person mike    schedule 13.08.2013

убедитесь, что ваш путь указывает на файл .exe в C: \ Program Files \ 7-Zip (может в каталоге bin)

person shreyas    schedule 02.01.2013
comment
Нет, он должен указывать на папку C: \ Program Files \ 7-Zip. Затем система прочитает оттуда все exe-файлы и сделает их доступными для командной строки (обязательно закройте текущие командные строки и запустите новые, потому что изменения недоступны до перезапуска этих командных строк). - person Beemo; 26.07.2017

В Windows 10 мне пришлось запустить командный файл от имени администратора.

person Ulysses Alves    schedule 13.04.2017