Рестарт/перезапуск TC
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 8, 9, 10, 11, 12  Next  :| |:
Total Commander -> Автоматизация Total Commander

#121:  Author: sergiokapone PostPosted: Fri Mar 01, 2019 02:45
    —
Соорудил скрипт, который перезапускает TC с другой разрядностью
Code:

:: Перезапуск TC в другой разрядности
:: x32<=>x64

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
set x64=Totalcmd64.EXE

FOR /F %%i IN ('TASKLIST /NH /FI "IMAGENAME eq totalcmd*"') DO (
    FOR /F "tokens=2 delims==" %%j IN ('wmic process where "name='%%i'" get ExecutablePath /FORMAT:LIST') DO (
    set line=%%j
    taskkill /im %%i >NUL
    IF %%i==!x64! (start !line:64=!) ELSE (start !line:~0,-5!64!line:~-5!)
    )
)

exit


Если соорудить из этого скрипта exe-шник то при перезапуске теряется фокус на приложении, не критично, но не совершенно. Можно такое исправить? Сам bat-ник, кстати, не фокус не теряет.

#122:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Mar 04, 2019 21:26
    —
sergiokapone
Плохо всё это работает. Из 32-битного TC в 64-битный худо-бедно переключает: экзешник — с потерей текущего каталога (открывается тот, который был при последнем выходе из TC), батник без этого, но, естественно, с консольным окошком. А обратного переключения на 32-битный TC из 64-битного у меня вообще нет: появляется сообщение об ошибке, что не найден файл ТOTALCMD6464.EXE (именно так!), в случае с батником — в паре с незакрытым консольным окном.

#123:  Author: sergiokapone PostPosted: Mon Mar 04, 2019 21:58
    —
Avada wrote:
sergiokapone
Плохо всё это работает. Из 32-битного TC в 64-битный худо-бедно переключает: экзешник — с потерей текущего каталога (открывается тот, который был при последнем выходе из TC), батник без этого, но, естественно, с консольным окошком. А обратного переключения на 32-битный TC из 64-битного у меня вообще нет: появляется сообщение об ошибке, что не найден файл ТOTALCMD6464.EXE (именно так!), в случае с батником — в паре с незакрытым консольным окном.


Я тестил на Win10 на двух компах, скорее всего у Вас другая винда. А что выдает команда
Code:
wmic process where "name='totalcmd.exe'" get ExecutablePath /FORMAT:LIST


Code:
wmic process where "name='totalcmd64.exe'" get ExecutablePath /FORMAT:LIST



если просто набрать в консоли из x32 и x64, соответственно?

Или, может еще вариант, у Вас путь к totalcmd.exe содержит пробелы.

Добавлено спустя 37 минут:

Как вариант, попробуйте это скрипт
Code:

::wincmd.ini
::[Shortcuts]
::C+R=em_Restart_x32_x64_TC
::
::usercmd.ini
::[em_Restart_x32_x64_TC]
::cmd=%commander_path%\Scripts\Restart_x86-x64.cmd
::menu=Перезапуск TC в другой разрядности

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
set x64=Totalcmd64.EXE
set x32=totalcmd.EXE

FOR /F %%i IN ('TASKLIST /NH /FI "IMAGENAME eq totalcmd*"') DO (
    taskkill /im %%i >NUL
    IF %%i==!x64! ( 
        start !commander_path!\!x32! /F
        echo ============
        echo Запуск  x32
        echo ============
        timeout 1 >nul
    ) ELSE (
            start !commander_path!\!x64! /F
            echo ============
            echo Запуск  x64
            echo ============
            timeout 1 >nul
      )
)

exit

#124:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Mar 04, 2019 23:05
    —
sergiokapone
У меня Windows 7 x64, путь к TC пробелов не содержит.
Выполнение в консоли даёт ExecutablePath=C:\Totalcmd\TOTALCMD.EXE и соответствующий аналоги для 64-битного TC.
Скрипт в каком формате?
И цитировать меня полностью не надо. И так понятно, кто, с кем и о чём общается.

#125:  Author: sergiokapone PostPosted: Mon Mar 04, 2019 23:11
    —
.cmd или .bat, одинаково.

#126:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Mar 05, 2019 06:52
    —
sergiokapone
Да, сейчас батник вроде бы работает прилично (тщательно не проверял).

#127:  Author: sergiokapone PostPosted: Tue Mar 05, 2019 10:49
    —
exe-шник на основе батника

#128:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Mar 05, 2019 11:06
    —
sergiokapone
Нет, этот экзешник меня совершенно не устраивает. Во-первых теряются текущие пути. Во-вторых, обратное переключение из x64 не работает. При ближайшем рассмотрении последняя проблема есть и в батнике (утром дома вроде бы это работало, сейчас на другой машине с теми же системой и TC — нет). В-третьих, идёт наращивание номеров копий окна TC.
Я использую экзешник на основе этого скрипта из текущей темы с последующими модификациями (раз, два).

#129:  Author: sergiokapone PostPosted: Tue Mar 05, 2019 11:43
    —
Avada,
я, кажись, понимаю в чем проблема,
если Вам не трудно, можете проверить этот батник с сообщениями для debug'инга?
Code:

@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
set "x64=Totalcmd64.EXE"
set "x32=totalcmd.EXE"

FOR /F %%i IN ('TASKLIST /NH /FI "IMAGENAME eq totalcmd*"') DO (
    echo Closing %%i
    timeout 2 >nul
    taskkill /im %%i >NUL
    IF "%%i" EQU "!x64!" (
        echo  "%%i" , "!x64!"
        echo Starting   !commander_path!\!x32!
        timeout 2 >nul
        start !commander_path!\!x32! /F
    ) ELSE (   
            echo  "%%i" , "!x64!"
            echo Starting !commander_path!\!x64!
            timeout 2 >nul
            start !commander_path!\!x64! /F 
      )
)

#130:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Mar 05, 2019 11:56
    —
sergiokapone
Батник работает приемлемо по всем указанным выше пунктам.

#131:  Author: sergiokapone PostPosted: Tue Mar 05, 2019 12:00
    —
Avada,
спасибо, проблема, думаю, была в лишних пробелах в переменных x64 и x32.

#132:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Mar 05, 2019 12:02
    —
sergiokapone
Понятно. Будет новый экзешник — гляну. Но заглавные буквы и точки забывать в сообщениях не надо.

#133:  Author: sergiokapone PostPosted: Tue Mar 05, 2019 12:12
    —
exe-шник (скачивание сразу, при нажатии).

#134:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Mar 05, 2019 12:22
    —
sergiokapone
Ровно тот же набор проблем, что и раньше. Число окон TC то увеличивается, то уменьшается с наращиванием при этом цифр для номеров копий, текущие каталоги не сохраняются, обратного переключения с x64 нет.

#135:  Author: sergiokapone PostPosted: Tue Mar 05, 2019 12:27
    —
Avada,
наверное exe-шником пользоваться не целесообразно. Я компилировал в
Quick Batch File Compiler. Может попробую, как-нибудь, другой компилятор.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 8, 9, 10, 11, 12  Next  :| |:
Page 9 of 12

Powered by phpBB © 2001, 2005 phpBB Group