Ключі командного рядка

Ключі командного рядка

  • Модуль підтримує ключі командного рядка. Ключі модуля НЕ залежать від регістра. Їх може бути кілька, і записуються вони послідовно. Наприклад, так "sfx.exe -ai -fm1 -gf + 256-8" або так "sfx.exe / ai / fm1 / gf + 256-8" і навіть так "sfx.exe / Ai -fM1 / GF + 256 -8 ".
  • Модуль може передати ключі виконуваній програмі всередині архіву. Якщо потрібно передати виконуваній програмі ключі, які використовуються самим модулем, необхідно перед ними використовувати ключ '-! '.
  • Модуль веде пошук "своїх" (перерахованих на цій сторінці) ключів в командному рядку до першого невідомого ключа. Після цього все інше (ключі, параметри) передається в спричинюється програму. Наприклад: в файлі конфігурації RunProgram = "some_program.exe" після запуску SFX архіву: "sfx.exe -gm2 / key = 1 / silent" виконається: "some_program.exe / key = 1 / silent". У той же час, модуль сприйме ключ '-gm2' і зробить "тиху" розпакування. В цьому випадку застосовувати ключ '-! ' не обов'язково.
  • Всі ключі, що передаються виконуваної програмі всередині архіву, будуть передані ТІЛЬКИ першій програмі, що виконується в даний момент типу команд запуску. Наприклад, у файлі конфігурації є рядки:

Після запуску SFX архіву "sfx.exe -gm2 -s -y", ключі "-s -y" будуть передані в перший рядок, і виконано

Якщо ж цей SFX архів запустити так, "sfx.exe -ai -s -y", то ключі "-s -y" будуть передані в третій рядок, і виконано

Перериває розбір командного рядка. Всі ключі, зазначені після нього, можуть бути передані (як є) тільки в першу виконувану програму ( 'RunProgram'. 'ExecuteFile'. 'AutoInstall' або 'AutoInstallX'). Може знадобитися, якщо необхідно вказати ключ, який використовується і в SFX модулі і в виконуваної програмою.
Наприклад, у файлі конфігурації RunProgram = "setup.exe -s", а необхідно виконати "setup.exe -s -y" (ключ '-y' використовується самим модулем). Щоб передати його в 'RunProgram' потрібно виконати "sfx.exe -gm2 -! -y". Ключ '-y' буде проігнорований модулем, переданий в командний рядок і виконається "setup.exe -s -y". У той же час, модуль сприйме ключ '-gm2' і зробить "тиху" розпакування.

Вказує використовувати параметр 'AutoInstall' замість 'RunProgram'. 'ExecuteFile' або 'AutoInstallX' з файлу конфігурації. Якщо 'AutoInstall' не вказано - даний ключ ігнорується.

Ключ автоматично пригнічує висновок діалогу 'BeginPrompt'. тобто можна не вказувати ключ '-y'.

Автоматична установка певного варіанту. X може приймати значення від 0 до 9. Для викликається варіанту повинна бути відповідний рядок у файлі конфігурації (параметр 'AutoInstallX'), тобто якщо вказати '-ai7', то у файлі конфігурації повинна бути присутнім рядок виду AutoInstall7 = "auto_install.exe params for scenario 7", інакше буде виведено повідомлення про помилку.

Пакетний режим автоматичних установок також можливий. Після '-ai' вказуються номера автоматичних установок, наприклад, якщо виконати "sfx.exe -ai372", то будуть виконані послідовно 'AutoInstall3', потім 'AutoInstall7', а потім 'AutoInstall2'. Якщо в якийсь із 'AutoInstallX' установок кілька команд - вони виконаються послідовно, і тільки потім виконання перейде до наступної зазначеної 'AutoInstallX'.
Для кожного викликається варіанту 'AutoInstallX', цифри після '-ai', повинна бути відповідна рядок у файлі конфігурації (параметр 'AutoInstallX'). Таким чином, якщо вказати '-ai37', в файлі конфігурації повинні бути присутнім хоча б по одному рядку виду AutoInstall3 = "auto_install3.exe switches for program3" і AutoInstall7 = "auto_install7.exe switches for program7", інакше буде виведено повідомлення про помилку.

Ключ автоматично пригнічує висновок діалогу 'BeginPrompt'. тобто можна не вказувати ключ '-y'.

Режим / час відображення вікна 'FinishMessage'. де X:

  • 0 - не відображати вікно
  • 1 - відображати вікно
  • N (N = 2. 999) - відображати вікно в перебігу N секунд; зворотний відлік часу відображається на кнопці "OK", і по його закінченні вікно 'FinishMessage' закривається і робота модуля припиняється

Ключ переобумовленої префікси 'fmX' у файлі конфігурації. Командний рядок має пріоритет.
При відсутності 'FinishMessage' у файлі конфігурації ключі '-fmX' ігноруються.

Режим відображення діалогових вікон.
З командного рядка можна ЗМІНИТИ окремі прапори в 'GUIFlags' файлу конфігурації:

  • -gf-8 - прибере стилі ХР (мінус перед вісімкою), решта візьме з файлу конфігурації
  • -gf + 256 - додасть підтвердження скасування установки, інші візьме з файлу конфігурації
  • -gf-8 + 256 або
  • -gf + 256-8 - прибере стилі ХР, додасть підтвердження скасування установки, а решта візьме з файлу конфігурації

Спроби скинути невстановлений прапор або додати вже встановлений прапор - ігнорує.
Наприклад, якщо в файлі конфігурації було GUIFlags = "136" (8 + 128), а запустили SFX архів з ключем "-gf-8 + 128-256 + 1024", то це тільки скине прапор 8 і додасть прапор 1024, а решта проігнорує (в 'GUIFlags' прапор 128 вже встановлено, а прапор 256 відсутня і скидати нічого). В результаті SFX архів відпрацює з GUIFlags = "128 + 1024".

Якщо не вказувати випереджає знак (+ або -), то можна повністю ЗАМІНИТИ 'GUIFlags' файлу конфігурації:

  • -gf64 + 8 - 'GUIFlags' буде дорівнює "72", незалежно від того, що зазначено в файлі конфігурації.

Ключ ЗМІНЮЄ параметр 'GUIFlags' у файлі конфігурації.

Режим відображення розпакування, де X:

  • 0 - стандартний режим - рідний режим 7-Zip, тобто з кнопками "Скасування" і "Закрити" (яка в правому верхньому куті вікна)
  • 1 - відображати процес розпакування, але приховати кнопку "Скасувати", блокувати кнопку "Закрити" (яка в правому верхньому куті вікна) і клавішу [Esc] на клавіатурі
  • 2 - не відображати діалогу процесу розпакування (тобто "тихий" режим)

Ключ переважають налаштувань 'GUIMode' у файлі конфігурації. Ключ не пригнічує висновок діалогу 'BeginPrompt'. для цього потрібно використовувати ключі '-ai'. '-aiX' або '-y'.

Виводить діалог з текстом, що містяться в 'HelpText'. і кнопкою 'OK'. Якщо 'HelpText' у файлі конфігурації відсутній, буде виведено повідомлення: (Параметр "HelpText" не вказано у файлі конфігурації)

Після закриття даного діалогу робота модуля буде перервана (тобто нічого не буде розпаковуватися / встановлюватися).

Забороняє запуск програм, зазначених в 'RunProgram'. 'ExecuteFile'. 'AutoInstall' або 'AutoInstallX'. тобто виконується тільки розпакування. Крім цього не створюються ярлики, які не видаляються файли і SFX архів ( 'Shortcut', 'Delete' і 'SelfDelete' не виконуються)

Ключ не діє при розпакуванні в тимчасову папку.

Перевизначає параметр 'OverwriteMode' файлу конфігурації.

  • 0 - перезаписувати всі файли (режим за замовчуванням)
  • 1 - не перезаписувати існуючі файли
  • 2 - перезаписувати тільки ті файли, які старіше, ніж в SFX архіві

Перевизначає параметр 'SelfDelete' файлу конфігурації.

  • 0 - НЕ ВИДАЛЯТИ SFX архів, навіть якщо в файлі конфігурації присутній SelfDelete = "1"
  • 1 - ВИДАЛИТИ SFX архів, незалежно від наявності 'SelfDelete' у файлі конфігурації
Дозволяє отримати з SFX архіву і зберегти файл конфігурації. Після ключа через пробіл вказується ім'я (або шлях і ім'я) файлу. Ім'я та розширення файла може бути будь-яким. Допустимі як абсолютні, так і відносні шляхи. Якщо папки не існує - вона буде створена. Якщо створити папку або записати файл на носій (наприклад, CD-ROM) не вдасться - буде виведено повідомлення про помилку. Приклади використання:
  • -sfxconfig config.txt - збереже файл "config.txt" в цій папці *
  • -sfxconfig \ config.txt - збереже файл "config.txt" в корені диска поточної папки *
  • -sfxconfig. \ Config.txt - збереже файл "config.txt" в папці рівнем вище поточної папки *
  • -sfxconfig D: \ DISTRIBUT \ 7-Zip \ Папка з пробілами і кирилицею \ конфігурація.cfg - збереже файл "конфігурація.cfg" в папці "D: \ DISTRIBUT \ 7-Zip \ Папка з пробілами і кирилицею"

* Про цій папці см. Відносні шляхи.

Виводить вікно з інформацією про версію і дату створення SFX модуля.
Корисно, коли інформація в ресурсах модуля була кимось змінена.

Приховує вікна діалогів 'BeginPrompt'. 'ExtractPath'. поєднаного 'BeginPrompt' + 'ExtractPath' і 'FinishMessage'. Вікно розпакування (якщо не приховано параметром 'GUIMode' або ключем '-gm2') буде показано. При спробі перервати розпакування / установку, вона буде перервана без виведення вікна підтвердження 'CancelPrompt'. Вікна помилок, якщо такі виникнуть, будуть відображатися, не залежно від цього ключа. Ключ оригінального SFX модуля 7-Zip.

Схожі статті