Orion9

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