Можно так:
(Get-Process | Where-Object { $_.Name -eq 'FastExecuteScript' -and $_.MainWindowTitle -like '*MyCoolProgram*' } | Select-Object -ExpandProperty MainWindowTitle) -replace '.*\((.*)\).*', '$1'Выведет:
0.1.51Скомпилил проект.
Папка с скомпиленым проектом лежит тут:
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:csv
Node,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 видимо надо мне еще создать топик в разделе запросы функционала.
офтопик
Если заняться не чем то создайте )))
Вероятно, если хак - создать ресурс в скрипте.
Что нужно:
Тогда при запуске скрипта откуда угодно можно будет получить этот самый путь.