ZiabrevLV писал(а):Увидел:
/EV- В командной записи отключает использование переменных и переменных окружения в параметре value.
Так и есть. В командной записи переменные окружения раскрываются по умолчанию. Чтобы этого не происходило, необходимо использовать ключ /EV-, если он поддерживается. В функциональной записи все наоборот. Переменные окружения никогда не раскрываются, строка передается в функцию как есть. Если взять ваш пример, то две одинаковые записи будут вести себя по-разному
Код: Выделить всё
IniWrite %COMMANDER_INI% "Configuration" "IconLib" "%COMMANDER_EXE%"
Код: Выделить всё
IniWrite(COMMANDER_INI, "Configuration", "IconLib", "%COMMANDER_EXE%")
В первом случае переменная раскроется, во втором случае нет.
[Важно] Если необходимо раскрыть переменную окружения в функциональной записи, нужно использовать Set(), это единственный предусмотренный для этого способ
Код: Выделить всё
IniWrite(COMMANDER_INI, "Configuration", "IconLib", Set("%COMMANDER_EXE%"))
AkulaBig писал(а):Но без использования ProcessExecGetOutput. Через ShellExec, выводящий результат в буфер. Вдруг такой вариант будет работать приемлемо по скорости.
Если такой вариант быстрее ProcessExecGetOutput, то, вероятно, есть проблемы в механизмах внутренней реализации. Сам по себе WinScriptAdv + AutoIt не должен выигрывать у Autorun, поскольку AutoIt.exe запускается каждый раз с новым скриптом, что очень медленно и накладно. Если Autorun действительно проигрывает в скорости, хотелось бы услышать от автора причины этого.
AkulaBig писал(а):А на Autorun сколько бьюсь, не получается. Прошу помощи:
Вы уже вставляли кавычки
здесь правильно. Какая может быть разница
Код: Выделить всё
ShellExec("~/SW_HIDE", COMSPEC, '/c ' & util_ET & param & '"' & FileName & '"' & ' | clip')
Просто имя файла должно быть в кавычках, да и все.