Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Flasher писал(а):LonerD
В wincmd.ini [ContentPlugins] стоят выше [FileSystemPlugins]? В Autorun строка создания переменной в самом верху?
Нашёл причину. Указанное выше не обязательно.
На самом деле у меня переменная задавалась как пустая для ОС старше ХР

Код: Выделить всё

SetEnv /EV OSIS64 ""
и для ХР:

Код: Выделить всё

SetEnv /EV OSIS64 "XP"
Соответственно каталоги с плагином назывались SFTPPlug и SFTPPlugXP.
Переименовал переменную и каталог для не-ХР - и заработало.

Похоже, в TC 9.20 Гислер запретил использование пустых переменных :? (Не найду такого в истории изменений... Баг? Или у меня локальная проблема?)
Раньше работала такая конструкция, теперь нет:

Код: Выделить всё

If %autorun_tcarch% = 64 Then
  SetEnv /EV TCIS64 "64"
Else
  SetEnv /EV TCIS64 ""
EndIf
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD писал(а):у меня переменная задавалась как пустая
Вообще-то кавычки там лишние.

И нет, не баг, а ленивое молчание Гислера. Угадай, по чьей просьбе пост...
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Flasher писал(а):
LonerD писал(а):у меня переменная задавалась как пустая
Вообще-то кавычки там лишние.
Да я вот сейчас смотрю зачем их добавлял... наверное так изначально начал писать, да и осталось. И /EV тоже лишнее, и кавычки.
Flasher писал(а):И нет, не баг, а ленивое молчание Гислера. Угадай, по чьей просьбе пост...
Жаль :( Многое теперь придётся переделывать.
А как быть с процитированной "админской переменной" пока непонятно.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD писал(а):Жаль Sad Многое теперь придётся переделывать.
На Гислера число просьб влияет. Ты напиши, что очень надо.
LonerD писал(а):А как быть с процитированной "админской переменной" пока непонятно.
Поясни.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Flasher писал(а):
LonerD писал(а):А как быть с процитированной "админской переменной" пока непонятно.
Поясни.
Ты процитировал свой пост с кодом

Код: Выделить всё

StrMid OSVer %SYSINFO_OSVERSION% 5 
If %OSVer% = 2000 Or %OSVer% = XP Or %OSVer% = 2003 Or %OSVer% = 2003R2 Then 
  SetEnv ADM 
Else 
  SetEnv ADM *
Можно задать непустые имена переменных для битности (32 - 64) или версии ОС, и соответственно переименовать файлы и каталоги с программами. А вот переменную ADM теперь не получается универсально назначить, чтобы в ТС 9.20 работало без лишних диалогов под ХР и более новыми ОС.
Flasher писал(а):На Гислера число просьб влияет. Ты напиши, что очень надо.
Написал. Но за два месяца не особо густо желающих. И то я непреднамеренно вернулся к Тоталу после долгого перерыва, иначе бы ещё нескоро заметил. :oops:
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD писал(а):Ты процитировал свой пост с кодом
А, вот о чём речь. А какое сейчас поведение на XP и т. д.?
LonerD писал(а):Написал. Но за два месяца не особо густо желающих.
Если что-то изменилось с прошлой версии, то имеет смысл писать в багрепорты со ссылкой на прежний топик. Там-то Гислер точно ответит. Хотя мы вроде бы проверяли на других версиях, результаты были аналогичные, ЕМНИП.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Flasher писал(а):А, вот о чём речь. А какое сейчас поведение на XP и т. д.?
Я ею давно не пользовался (но хочется, чтоб и под ней работало). Надо виртуалку ставить, проверять... Скорее всего раз пустая переменная Тоталом не обрабатывается, то будет такая же ошибка, как и под более новыми Windowsами. А если без переменной просто со звёздочкой - раньше вызывался диалог выбора пользователя, от имени которого будет запускаться программа.
Пока в качестве решения придумалась "заглушка" для ХР, наподобие такой

Код: Выделить всё

SetEnv ADM "%commander_path%\hidcon.exe "
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

А скрывать-то зачем? GUI никто не отменял. hidcon, кстати, проблемная. Лучше hide использовать.
Тут скорее вот это:

Код: Выделить всё

SetEnv ADM "rundll32.exe url.dll, FileProtocolHandler "
Кстати сказать, она у меня и в Sudo.lnk с админской птицей вместо *, чтобы неисполняемые файлы тоже запускать.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

В качестве временного решения могу предложить использовать Exec.exe и Exec64.exe из комплекта Virtual Panel в качестве "пустого" значения переменной ADM - будет просто выполняться программа с переданными ей аргументами.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD писал(а):Вроде как втихую пофикшены пустые переменные окружения.
С чего ты взял?: msg "%username%" Тест:%Empty%
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

Вроде как в 9.21 RC 1 пофикшены пустые переменные.

Обнаружил ещё, что в секции [FileSystemPlugins], равно как и в самом autorun.cfg (при запуске программ через ShellExec, к примеру) пустые переменные не работают (проверил - оказывается, и в 9.12 тоже не работали).

Вот такая конструкция не работает в autorun.cfg

Код: Выделить всё

ShellExec /W "%commander_path%\Program%EmptyEnv%.exe" "" ""
Хотя в дальнейшем в пользовательских командах EmptyEnv уже отратабывает как пустая.

То есть на этих стадиях запуска Тотал уже понимает непустые переменные, а пустые "учится" понимать уже позднее. Странная механика... хотя это уже мелкое неудобство, с которым можно жить.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD писал(а):Вроде как ...

Код: Выделить всё

SetEnv Empty
Результат.
LonerD писал(а):Вот такая конструкция не работает в autorun.cfg
Это обсуждалось на предыдущей странице.
Последний раз редактировалось Flasher Чт июл 26, 2018 17:15, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

LonerD писал(а):Соответственно каталоги с плагином назывались SFTPPlug и SFTPPlugXP.
А зачем так делать? Там вроде вся разница - откуда вызывать ряд функций: из системы или libssh2.dll. Разве не достаточно SFTPPlugXP сразу для всех?
Аватара пользователя
LonerD
Сообщения: 1174
Зарегистрирован: Вт янв 04, 2011 03:56
Откуда: Макеевка
Контактная информация:

Сообщение LonerD »

В теме на форуме багов Гислер ответил быстро и много в стиле "это не работает потому что не работает потому что так не должно и вообще не может работать". Похоже, возвращать как було он не хочет.
Подключайтесь, может удастся переубедить.
Как вариант - предложил ему сделать экранирование символов для знака процента.
PS. Про ключ в wincmd.ini добавил.
PPS. Намекнул про совместимость (описка в языковом файле до сих пор остаётся потому как когда-то кто-то её мог случайно использовать, а тут внезапно выпиляна существенная фича, которая работала годами)
Skif_off писал(а):Разве не достаточно SFTPPlugXP сразу для всех?
Наверное, достаточно... но мало ли... задел на будущее. Возможно, в новой версии (которая требует ОС новее, чем ХР) будут появляться новые возможности. Или будут появляться другие плагины с раздельным функционалом.
Последний раз редактировалось LonerD Вс июл 29, 2018 01:20, всего редактировалось 2 раза.
Windows 11 | TC DreamLair eternal pre-α
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

LonerD писал(а):Похоже, возвращать как було он не хочет.
Пока ещё не ответил в части "было".
LonerD писал(а):Как вариант - предложил ему сделать экранирование символов для знака процента.
Может, лучше ключ в wincmd.ini запросить?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить