Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Autorun 
Author Message
Loopback



PostPosted: Fri Sep 12, 2025 13:17    Post subject: Reply with quote

Orion9 wrote:
Попробовал попутно "CP:". Вот такое использование крашит плагин:

Ага, действительно. Это не связано непосредственно с указанием кодировки в виде CP, к примеру, c "ANSI" будет то же самое. Проблема с преобразованием в однобайтные кодировки строк длиной в 1 символ. В данном примере, когда доходит до первого такого значения (поле "ID") - на нём и крашится.

Пока хотфикс делать не буду, просто выложу исправленную версию.

Версия от 11.09.2025

yozhik wrote:
не работает — записывает в файл литерально "%VAR%" вместо содержимого. Хотя StrReplace при точно такой же записи работает исправно.

Да, подавляющее большинство функций в командной записи не поддерживают разворачивание переменных непосредственно в параметрах. Те что поддерживают - это ограниченный набор "старых" функций из ранних версий Autorun (строчные, ini и еще некоторые). Я бы с радостью убрал эту функциональность и из них, поскольку это довольно корявый навесной механизм, который необходимо применять отдельно к каждому параметру. Останавливает лишь вопрос совместимости со старым кодом. В новых функциях, конечно, этого уже не делается.

А для использования значения переменной в командной записи в этой и любой другой функции без встроенного разворачивания, есть простой универсальный способ - вычисляемые строки:

Code:
RegExpReplace VAR %"VAR" "a" "b"


Но я всё же призываю для таких функций использовать функциональную запись. По-моему, для них она просто более естественна.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group