7z.exe
не показывает прогресс извлечения в cmd. "C:\Program Files\7-Zip\7zG.exe" -y x -pPASSWORD "D:\Myfile.rar"
файл с индикатором выполнения графического интерфейса. Но я не хочу индикатор выполнения GUI. Я хочу показать прогресс в процентах внутри cmd. то есть, я хочу использовать 7z.exe
вместо 7zG.exe
с показанным процентом прогресса.
2 ответа
В настоящее время нет способа отобразить собственный индикатор выполнения в командной строке. Существует множество (грязных) хаков, от подсчета извлеченных файлов до извлечения до постоянного получения размера извлеченного файла или каталога. Я не рекомендовал бы их - если можете, используйте графический интерфейс. Если нет, просто позвольте этому случиться :-)
Стандартное 32- и 64-битное приложение «7-zip Extra» принимает ввод из командной строки и предоставляет индикатор завершения в процентах, однако следует отметить, что этого не происходит в активном окне CMD, оно запускает собственное окно приложения, хотя после завершения закроется, и ваш сценарий будет работать как обычно.
Загрузите следующие исходные файлы отсюда: http://www.7-zip.org/download.html
ОПИСАНИЕ: 7-Zip Extra: автономная консольная версия, 7z DLL, плагин для Far Manager
Извлеките файлы 7za.exe, 7za.dll и 7zxa.dll (я предлагаю использовать только 32-разрядные файлы, которые находятся вне папки x64, поскольку они работают на обеих архитектурах, где x64 не работает).
- Поместите эти файлы в одну и ту же папку где-нибудь внутри вашей полезной нагрузки или в доступном месте вашего скрипта, где у пользователя, выполняющего скрипт, есть права доступа к обоим файлам.
- Обратитесь к 7-zip.chm за информацией о командной строке и синтаксисе для создания вашего скрипта (он не включен в загрузку и может быть найден в стандартных установочных программных файлах после установки), или обратитесь к этому очень простому и полезному сайт: https://sevenzip.osdn.jp/chm/cmdline