Понял, что надо указывать полный путь, но этот вариант не имеет смысла если я хочу чтобы мой скрипт был портабельным.
Вспомнил про переменную, которая возвращает путь к рабочей папке. Она тоже не хочет работать. (при том же запуске через start Clickermann.exe "test.cms")
Не знаю зачем, попробовал записать заранее путь к папке в файле, и потом присваивать переменной.
//#autorun
#name "test"
$path = STRCONCAT(TFREAD("input.txt", 1), "config.ini") //input.txt содержит строку: C:\QT Utils\Clickermann\
WAIT(1)
$zxcv = INIREAD($path, "qwe", "asd")
$dialog = DIALOGBOX("тек. ра. папка:"+$_pdir, 1, 3)
$dialog = DIALOGBOX("пауть из файла:"+$path, 1, 3)
$dialog = DIALOGBOX("переменная из конфиг.ини"+$zxcv, 1, 3)
HALT
И тут самое интересное.
При запуске через батник:
раб. папка: ""
путь из файла: "C:\QT Utils\Clickermannconfig.ini"
переменная из ини: "N8329...."
При запуске скрипта двойным кликом:
раб. папка: "C:\QT Utils\Clickermann\"
путь из файла: "C:\QT Utils\Clickermann\config.ini"
переменная из ини: "" (!)
Не улавливаю логики, как это работает, либо чтото делаю не то. Хотя повторю, что этот пример не решает проблемы, т.к. хоть он и считывает переменную, но при наличии заранее записанного пути к папке.
PS: у меня был ini сохранен в ANSI, всегда до этого. Сейчас попробовал в UTF8 - при запуске через батник переменную из ини уже не возвращает. В остальном всё тоже.
PSS: bat:
Clickermann.exe "%cd%\TEST.CMS"
на первый взгляд вроде решает все эти проблемы.