Невозможно отправить аргументы в пакетный файл, преобразованный в приложение через IExpress - PullRequest
0 голосов
/ 26 декабря 2018

Я создал пакетный файл, который содержит личные данные, поэтому, чтобы скрыть его от других людей и опубликовать его, я решил «зашифровать» его, преобразовав его в exe через IExpress.

Моя партияфайл называется prime.bat и находится в %userprofile%.

Вот шаги, которые я выполнил с iexpress.exe:

  • Выполнено iexpress.exe.
  • Выбранный Create new Self Extraction Directive file
  • Выбранный Extract files and run an installation command.
  • Введенный заголовок пакета (Prime finder).
  • Выбранный No prompt..
  • ВыбранныйDo not display a license..
  • Выбранный prime.bat расположен в %userprofile% (C:\Users\%username%).
  • Введен cmd /c prime.bat в Install Program и оставлен Post Install Command как есть (<None>).
  • Выбрано Default (recommended).
  • Выбрано No message.
  • Введено C:\Users\username\prime.exe и не отмечен ни один из полей ниже.
  • ВыбраноNo restart.
  • Выбран для сохранения SED файла.

Пакет успешно создан!


Как пакетный файлработает с аргументами, должен быть запущен из cmd.Когда я щелкнул файл в проводнике, он открылся правильно.Поскольку я поместил сообщение об ошибке, если нет аргументов, он выдал ожидаемую ошибку и завершился с 1.Если я наберу просто prime.exe в cmd, произойдет описанное выше, и будет получен тот же вывод.


Но , если я снова запускаю файл из cmd, но укажите аргументов, я получаю сообщение об ошибке в новом окне.Поскольку я не использую английский язык и не имею прав на изменение языка, я постараюсь перевести вывод:

Синтаксическая ошибка появилась в выборках командной строки.

Тип/? после команды для справки.

Итак, я набрал prime.exe /?, и появилось новое окно с помощью.Я думаю, что мне чего-то не хватает в iexpress.exe вариантах.

1 Ответ

0 голосов
/ 26 декабря 2018

Я решил свою проблему, используя:

prime.exe /c:"cmd /c prime.bat numeric_arguments"

, который следует использовать, если вы хотите отправить аргументы в «скомпилированный» файл IExpress, так как параметр /c указывает новую команду установки.

...