Renewal — автообновление Far и внешних плагинов
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Latest post of the previous page:
Куда он делся? Макрос нажимает кнопку Проверить в начале. И потом, если обнов нет - Закрыть в конце. Прогресс он не убирает.
Last edited by Pasha_ZZZ on Fri 25 Dec, 2020 15:43, edited 1 time in total.
- bigvax
- Posts: 28
- Joined: Fri 02 Jun, 2006 17:18
- Location: где-то во времени
- Has thanked: 3 times
- Been thanked: 1 time
- Contact:
Renewal — автообновление Far и внешних плагинов
Привет!
Выявил ошибку в новой версии плагина, когда в системе Comspec указывает не на cmd.exe.
У меня в частности стоит tcc.exe (Take Command от Jpsoft).
В этом случае после закрытия консольного окна FARа, ничего не происходит, и не появляется модальное окошко Винды, о том что файл был обновлен.
При переписывании Comspec на cmd.exe - все работает.
Выявил ошибку в новой версии плагина, когда в системе Comspec указывает не на cmd.exe.
У меня в частности стоит tcc.exe (Take Command от Jpsoft).
В этом случае после закрытия консольного окна FARа, ничего не происходит, и не появляется модальное окошко Винды, о том что файл был обновлен.
При переписывании Comspec на cmd.exe - все работает.
Всегда виртуально Ваш, BigVax
Renewal — автообновление Far и внешних плагинов
bigvax, Плагин при обновлении фар создаёт файл
%TEMP%\far_renewalXX\update,cmd (XX - 64 или 32)
Попробуйте выполнить в комстроке far
cmd.exe /C "путь к файлу"
Когда CopmSpec указывает на TCC, что при этом произойдёт?
И что произойдёт если просто выполнить файл по Enter (в TCC)?
%TEMP%\far_renewalXX\update,cmd (XX - 64 или 32)
Попробуйте выполнить в комстроке far
cmd.exe /C "путь к файлу"
Когда CopmSpec указывает на TCC, что при этом произойдёт?
И что произойдёт если просто выполнить файл по Enter (в TCC)?
Last edited by 2useven10 on Sun 27 Dec, 2020 10:43, edited 2 times in total.
- bigvax
- Posts: 28
- Joined: Fri 02 Jun, 2006 17:18
- Location: где-то во времени
- Has thanked: 3 times
- Been thanked: 1 time
- Contact:
Renewal — автообновление Far и внешних плагинов
В окне ТСС (фар, разумеется, не запущен)
cmd.exe /c "C:\{TMP}\far_renewal64\update.cmd"
Все выполняется, в том числе:
msg max "Обновление Far Manager завершено." & rem start "C:\Program Files\Far\Far.exe" "C:\Program Files\Far\Far.exe"
cоответственно появляется модальное окошко «Обновление завершено»
Прямой запуск update.cmd из папки где оно лежит - тоже отрабатывает, что в принципе, ожидаемо, т.к. тот-же TCC настроен, на выполнение .bat и .cmd через cmd.exe, а вот .btm - выполняет уже сам.
Т.е. напрямую все выполняется, а вот в рабочей оснастке почему-то нет...
Всегда виртуально Ваш, BigVax
Renewal — автообновление Far и внешних плагинов
Я как раз хотел увидеть когда фар разумеется запущен. Т.е. из комстроки фар.
- bigvax
- Posts: 28
- Joined: Fri 02 Jun, 2006 17:18
- Location: где-то во времени
- Has thanked: 3 times
- Been thanked: 1 time
- Contact:
Renewal — автообновление Far и внешних плагинов
Понял, сейчас сделаю.
Полноразмерный, но именно один голый TCC без самой оболочки Take Command - только сам TCC c нужными ему dll и прочим.
Если надо могу показать состав рабочего комплекта и конфиги.
Code: Select all
C:\>ver /r
TCC 27.00.16 x64 Windows 10 [Version 10.0.19042.685]
TCC Build 16 Windows 10 Build 19042
Зарегистрировано: BIGVAX
Code: Select all
C:\{TMP}\far_renewal64>update.cmd
TCC: (Sys) C:\{TMP}\far_renewal64\update.cmd [11] Параметр задан неверно.
"fi"
C:\{TMP}\far_renewal64\update.cmd [11] Использование: TASKLIST [/= /C /D /L /M /N /O /P[n] /T /U["владелец"] /X /Z] [имя]
C:\{TMP}\far_renewal64\Far Manager\changelog
C:\{TMP}\far_renewal64\Far Manager\changelog_eng
C:\{TMP}\far_renewal64\Far Manager\Far.exe
Попытка доступа к ресурсу, занятому другим приложением
Code: Select all
C:\{TMP}\far_renewal64>cmd.exe /c "C:\{TMP}\far_renewal64\update.cmd"
C:\{TMP}\far_renewal64>set "FAR_PID=1592"
C:\{TMP}\far_renewal64>set "A=x64"
C:\{TMP}\far_renewal64>set "N=0"
C:\{TMP}\far_renewal64>set "G=next"
C:\{TMP}\far_renewal64>call :check_far
C:\{TMP}\far_renewal64>set /a "N=N+1"
C:\{TMP}\far_renewal64>if "1" == "11" set "G=kill" & goto :EOF
C:\{TMP}\far_renewal64>for /F %t in ('tasklist /nh /fi "PID eq 1592"') do set "t=%t"
TCC: (Sys) Параметр задан неверно.
"fi"
Использование: TASKLIST [/= /C /D /L /M /N /O /P[n] /T /U["владелец"] /X /Z] [имя]
Ошибка в синтаксисе команды.
C:\{TMP}\far_renewal64> if /i not "~0,3EOF
Т.е. сам вижу, что скрипт обрабатывается tcc.exe, хотя должен был быть отдан cmd.exe...
Почему так - не понимаю, ибо уже много лет как все настроено, что-бы .bat и .cmd обрабатывались cmd.exe, а tcc.exe обрабатывал-бы только .btm... Ж(
Всегда виртуально Ваш, BigVax
Renewal — автообновление Far и внешних плагинов
bigvax, В последней версии Renewal батник сделан проще. Попробуйте его.
Если не будет работать, поставьте в начало батника руками ComSpec на cmd.exe (set ComSpec=....).
Я думаю батник запускается как надо (через cmd.exe), а вот то что запускается из него (tasklist) уже по ComSpec.
add: попробуйте заменить tasklist на tasklist.exe в update.cmd,
в новой версии ещё и findstr на findstr.exe
Если не будет работать, поставьте в начало батника руками ComSpec на cmd.exe (set ComSpec=....).
Я думаю батник запускается как надо (через cmd.exe), а вот то что запускается из него (tasklist) уже по ComSpec.
add: попробуйте заменить tasklist на tasklist.exe в update.cmd,
в новой версии ещё и findstr на findstr.exe
Last edited by 2useven10 on Sun 03 Jan, 2021 19:09, edited 3 times in total.
Renewal — автообновление Far и внешних плагинов
Проверил сам. С .exe всё нормально обновляется из под TCC.
Как перезапустить фар под TCC не знаю, у меня настоен перезапуск через Far.lnk,
поэтому после обновления фар запустился в обычной консоли без TCC.
Сегодня обновлю плагин ещё раз - надеюсь будет работать и с TCC..
Как перезапустить фар под TCC не знаю, у меня настоен перезапуск через Far.lnk,
поэтому после обновления фар запустился в обычной консоли без TCC.
Сегодня обновлю плагин ещё раз - надеюсь будет работать и с TCC..
Last edited by 2useven10 on Sun 03 Jan, 2021 19:53, edited 1 time in total.
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Было бы замечательно, если бы при нахождении обнов где-то показывало, сколько "галочек" поставлено. Если плагов много и, например, верхний (допустим фар) к обновлению - непонятно, есть ли еще и внизу (за скроллом) обновы. Или перемещать все с обновами вверх.
А лучше и то, и другое.
А лучше и то, и другое.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Pasha_ZZZ, А ещё лучше выставлять не флаг LIF_GRAYED а флаг LIF_HIDDEN.
Last edited by buniak_a_h on Fri 08 Jan, 2021 10:19, edited 1 time in total.
-
- Posts: 430
- Joined: Mon 12 Jun, 2006 14:58
- Has thanked: 1 time
- Been thanked: 27 times
- Contact:
Renewal — автообновление Far и внешних плагинов
Поменял скрипт, добавил скрытие "серых" пунктов.buniak_a_h wrote: ↑Fri 08 Jan, 2021 10:17А ещё лучше выставлять не флаг LIF_GRAYED а флаг LIF_HIDDEN.
Первые 2 строки отвечают за автозакрытие диалога и скрытие серых строк соответственно.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
Renewal — автообновление Far и внешних плагинов
А я уже сделал макрос (повесил на CtrlH) чтоб включать-выключать :Pasha_ZZZ wrote: ↑Tue 12 Jan, 2021 18:21Поменял скрипт, добавил скрытие "серых" пунктов.buniak_a_h wrote: ↑Fri 08 Jan, 2021 10:17А ещё лучше выставлять не флаг LIF_GRAYED а флаг LIF_HIDDEN.
Первые 2 строки отвечают за автозакрытие диалога и скрытие серых строк соответственно.
Last edited by buniak_a_h on Tue 12 Jan, 2021 20:04, edited 1 time in total.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
Renewal — автообновление Far и внешних плагинов
На самом деле не понял, о каком скрипте речь. Я запускаю плагин без скриптов…