Посмотреть уроки на ютюб
Передать значение ресурса через командную строку
-
Писал этот вопрос в англоязычной версии форума. Надеюсь, можно дублировать :)
Подскажите, пожалуйста, можно ли передать переменную через командную строку для silent мода.
Допустим, у меня есть ресурс с именем: parseurl
Хотелось бы запускать что-то типа
script.exe --silent --parseurl http://www.url.com
Это можно как-то реализовать посредством бас? Т.е. мне нужен не просто запуск с дефолтными настройками ресурсов, а их изменение без запроса от пользователя.
Спасибо,
Сергей -
@cafedelmar Нет
-
@cafedelmar Максимум можете перед запуском менять настройки в файле настроек Actual.xml , а затем запускать silent
-
Понял, спасибо. Жаль, что стандартными методами нельзя. Было бы очень удобно.
-
Вот такая идея пришла: передавать параметры в bat файл, который будет создавать текстовый файл с этими параметрами, а скрипт bas обучить брать данные из этого файла.
Костыль, конечно, но лучше, чем ничего.
-
@cafedelmar said in Передать значение ресурса через командную строку:
Вот такая идея пришла: передавать параметры в bat файл, который будет создавать текстовый файл с этими параметрами, а скрипт bas обучить брать данные из этого файла.
Костыль, конечно, но лучше, чем ничего.
Почему "ничего"? Вам же сказали, все настройки всех ресурсов хранятся в файле actual.xml изменяйте его любым удобным для вас способом и запускайте скрипт.
-
Я не до конца понимаю логику замены actual.xml
Он меняется после запуска скрипта, а не до. Т.е. мне нужно его генерировать/заменять полностью до запуска, т.к. если запускался другой скрипт, то actual.xml там лежит соответствующий ему, насколько я понял. Я не знаю, хранит ли там BAS какие-то другие данные, чтобы полностью заменять файл и всё работало корректно.
Менять файл, который не создавал и в котором лежит куча всего остального - в целом, идея не очень хорошая, имхо.
-
@cafedelmar Он меняется после запуска, если вы предыдущие настройки поменяли, а по дефолту он хранит в себе последние данные, которые подружаются при повторном открытии.
Идея обычная, искать в файле параметр с именем ресурса и заменять его. От этого с файлом ничего не будет.
Если так рассудить, не очень хорошая и понятная идея делать такой костыль ради запуска через консоль
-
@oyasumi-punpun Видимо, так я и не понял.
Запускался скрипт Х. Мне нужно запустить скрипт Y с новыми данными.
Я лезу в actual.xml и ищу параметр с именем ресурса и не нахожу его, т.к. в скрипте Х этого ресурса не было. Верно?
-
@cafedelmar said in Передать значение ресурса через командную строку:
@oyasumi-punpun Видимо, так я и не понял.
Запускался скрипт Х. Мне нужно запустить скрипт Y с новыми данными.
Я лезу в actual.xml и ищу параметр с именем ресурса и не нахожу его, т.к. в скрипте Х этого ресурса не было. Верно?
Запуск с флагом --silent работает только на скомпилированных скриптах. Как у вас получится запустить тот же скрипт, но в котором какие то ресурсы отсутствуют?
-
@fox said in Передать значение ресурса через командную строку:
Как у вас получится запустить тот же скрипт, но в котором какие то ресурсы отсутствуют?
Ну в том-то и дело, что не получится, как я понимаю.
Я запустил какой-то скрипт Х, он создал/подставил свой actual.xml. В нём ресурсы для скрипта Х.
Я запускаю скрипт Y --silent, предварительно пытаясь изменить actual.xml, в котором ресурсов для Y нет, т.к. он для скрипта Х.
Т.е. мне нужно полностью менять actual.xml. Запустить Y, сохранить actual.xml для скрипта Y и затем, по мере необходимости, перед запуском его полностью подменять. Я правильно понимаю?
-
@cafedelmar said in Передать значение ресурса через командную строку:
@fox said in Передать значение ресурса через командную строку:
Как у вас получится запустить тот же скрипт, но в котором какие то ресурсы отсутствуют?
Ну в том-то и дело, что не получится, как я понимаю.
Я запустил какой-то скрипт Х, он создал/подставил свой actual.xml. В нём ресурсы для скрипта Х.
Я запускаю скрипт Y --silent, предварительно пытаясь изменить actual.xml, в котором ресурсов для Y нет, т.к. он для скрипта Х.
Т.е. мне нужно полностью менять actual.xml. Запустить Y, сохранить actual.xml и затем его полностью подменять. Я правильно понимаю?
Ещё раз, внимательно прочитайте следующую строку:
Запуск с флагом--silentработает только на скомпилированных скриптах.Файл actual.xml находится внутри скомпилированного скрипта, вы не запустите другой скрипт, только тот, что скомпилировали.
Не путайте значения ресурсы и значения ресурсов, так как скрипт будет один и тот же, то ресурсы у него будут одни и те же, а вот значения ресурсов как раз таки можно и поменять в actual.xml.
-
@fox said in Передать значение ресурса через командную строку:
Файл actual.xml находится внутри скомпилированного скрипта, вы не запустите другой скрипт, только тот, что скомпилировали.
Вот это я не учёл. Я запускал в режиме отладки постоянно и привык, что actual.xml лежит в корневой папке программы. Потому и путаница возникла.
Спасибо за разъяснение.