Папка с ботом\appsremote\Название бота\SID.......\engine\settings.ini
Может быть привязка только к текущему железу
Как определить путь к папке скомпилированного скрипта?
-
Скомпилил проект.
Папка с скомпиленым проектом лежит тут:
C:\BrowserAutomationStudio\release\AutoregerЗапустил экзешник из C:\BrowserAutomationStudio\release\Autoreger , и далее выбрал запуск через Планировщика и настроил планировщик, и тут начинается самое интересное))
В скрипте стоит определение разных путей, и т. к. скрипт стоит в Планировщике, то вот эти переменные и пути показывают пути Планировщика ,но не этой папки: C:\BrowserAutomationStudio\release\Autoreger
Вот что показывают разные встроенные в бас экшены определения путей:
-
"Путь к файлу проекта" в переменной PROJECT_PATH_CLEAN: C:/Users/Administrator/AppData/Local/TaskScheduler/1.6.0/app/appsremote/Autoreger/SID87da65b4/engine/project.xml
-
"Путь установки" в переменой INSTALLATION_PATH: C:/Users/Administrator/AppData/Local/TaskScheduler/1.6.0/app/appsremote/Autoreger/SID87da65b4/engine
-
"Путь к файлу проекта" в переменой PROJECT_PATH: C:/Users/Administrator/AppData/Local/TaskScheduler/1.6.0/app/appsremote/Autoreger/SID87da65b4/engine/project.xml
Вопрос: Как инструментами BASa получить вот этот путь? C:\BrowserAutomationStudio\release\Autoreger
-
-
@moonsoon я вкурсе этого экшена PROJECT_DIRECTORY , и вот что он показывает: C:/Users/Administrator/AppData/Local/TaskScheduler/1.6.0/app
а ни как не путь к папке релиза (откуда был запущен перед созданием задания в планировщике) : C:\BrowserAutomationStudio\release\Autoreger
Вот кстати остальные экшены проверил:
SISTEMNIY_PYT_TEMP C:/Users/ADMINI~1/AppData/Local/Temp SISTEMNIY_PYT_PROGRAM_FILES C:/Program Files SISTEMNIY_PYT_TEMP_PROGRAM_FILES_86 C:/Program Files (x86) SISTEMNIY_PYT_DESKTOP C:/Users/Administrator/Desktop SISTEMNIY_PYT_DOWNLOADS C:/Users/Administrator/Downloads SISTEMNIY_PYT_TEMP_DOCUMENTS C:/Users/Administrator/Documents SISTEMNIY_PYT_PICTURES C:/Users/Administrator/Pictures SISTEMNIY_PYT_VIDEOS C:/Users/Administrator/Videos SISTEMNIY_PYT_MUSIC C:/Users/Administrator/Music SISTEMNIY_PYT_FAOVORITES C:/Users/Administrator/Favorites SISTEMNIY_PYT_APP_DATA C:/Users/Administrator/AppData/Roaming SISTEMNIY_PYT_LOCAL_APP_DATA C:/Users/Administrator/AppData/Local SISTEMNIY_PYT_USER_PROFILE C:/Users/Administrator SISTEMNIY_PYT_PUBLIC C:/Users/Public SISTEMNIY_PYT_PROGRAM_DATA C:/ProgramData SISTEMNIY_PYT_SYSTEM_DRIVE C: SISTEMNIY_PYT_WINDOWS_DIRECTORY C:/Windows SISTEMNIY_PYT_USER_NAME Administrator SISTEMNIY_PYT_COMPUTER_NAME WIN-LIVFRVQFMKOнигде даже намёка на папку с "релизом"
-
В BAS выполни bat скрипт и получи нужные тебе данные. Процесс может быть не один, если больше одного скрипта запущено, и нужно будет отфильтровать результат вывода wmic в этом случае.
wmic process where "name='FastExecuteScript.exe'" get ExecutablePath, Commandline /FORMAT:csvNode,CommandLine,ExecutablePath WIN-BUUUU,appsremote\PyBasFree\SID_some\engine\FastExecuteScript.exe ,D:\Projects\PycharmProjects\github\sergerdn\py-bas-automation\bas_release\PyBasFree\appsremote\PyBasFree\SID_some\engine\FastExecuteScript.exe -
@Nikolas не думаю что возможно сделать то, что вы хотите. Ведь планировщик действительно запускает проект из своей дерриктории, а не из папки вашего дистрибутива.
Проще вынести в настройки скрипта путь к папке с нужными для скрипта ресурсами.
-
@sergerdn
Пробовал разные exe-ники:FastExecuteScript.exe BrowserAutomationStudio.exe Autoreger.exeно ответ один и тот же, только путь планировщика отображается , а вот эти вообще не видит BrowserAutomationStudio.exe
Autoreger.exe что и в принципе логично :через FastExecuteScript.exe---PROCESS_STANDART_OUTPUT: C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine>chcp 65001 Active code page: 65001 C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine>wmic process where "name='FastExecuteScript.exe'" get ExecutablePath, Commandline /FORMAT:csv Node,CommandLine,ExecutablePath WIN-LIVFRVQFMKO,appsremote\Autoreger\SID87da65b4\engine\FastExecuteScript.exe --silent --scheduler-key yenkozqgzo,C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine\FastExecuteScript.exe ... PROCESS_ERROR_OUTPUT: через BrowserAutomationStudio.exe---PROCESS_STANDART_OUTPUT: C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine>chcp 65001 Active code page: 65001 C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine>wmic process where "name='BrowserAutomationStudio.exe'" get ExecutablePath, Commandline /FORMAT:csv Node, ... PROCESS_ERROR_OUTPUT: No Instance(s) Available. через Autoreger.exe---PROCESS_STANDART_OUTPUT: C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine>chcp 65001 Active code page: 65001 C:\Users\Administrator\AppData\Local\TaskScheduler\1.6.0\app\appsremote\Autoreger\SID87da65b4\engine>wmic process where "name='Autoreger.exe'" get ExecutablePath, Commandline /FORMAT:csv Node, ... PROCESS_ERROR_OUTPUT: No Instance(s) Available.- А мне нужен этот путь:

-
@Nikolas said in Как определить путь к папке скомпилированного скрипта?:
@UserTrue видимо надо мне еще создать топик в разделе запросы функционала.
офтопик
Если заняться не чем то создайте )))
-
Вероятно, если хак - создать ресурс в скрипте.
Что нужно:
- создать ресурс и задать ему значение по умолчанию как путь к скомпилированному скрипту, так как это заранее известное значение
- скомпилировать скрипт
Тогда при запуске скрипта откуда угодно можно будет получить этот самый путь.