Синхронная смена каталогов
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next  :| |:
Total Commander -> Автоматизация Total Commander

#16:  Author: ingerard PostPosted: Sun Dec 24, 2017 19:13
    —
Flasher
Ошибка исчезла, но заходит только в папку на активной панели, на другой ничего не происходит. Хотя если открыть в двух панелях одинаковые пути, типа "c:\" и "c:\", то срабатывает нормально.

p.s. то есть работает только по точным путям кроме буквы диска, а надо чтоб на путь не смотрело.

#17:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 19:16
    —
ingerard
А на TC x32 как?

#18:  Author: ingerard PostPosted: Sun Dec 24, 2017 19:17
    —
Flasher
А у меня только x32.

#19:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 19:18
    —
ingerard
А система?

#20:  Author: ingerard PostPosted: Sun Dec 24, 2017 19:19
    —
Flasher
Win7 x64.

#21:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 19:34
    —
ingerard
Проблема в GetTrgPath/SetTrgPath на x64, по-видимому.
Добавлено спустя 16 минут:

А как дела обстоят с выходом?


Last edited by Flasher on Sun Dec 24, 2017 23:08; edited 1 time in total

#22:  Author: ingerard PostPosted: Sun Dec 24, 2017 19:52
    —
Flasher
Печально, может можно другим приложением решить задачу? Типа TCFS...

Quote:
А как дела обстоят с выходом?

С ним кстати все нормально.

#23:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 19:56
    —
ingerard
Можно, конечно. Чуть позже выложу с правками. Слегка занят.
ingerard wrote:
С ним кстати все нормально.
Хорошо.
ingerard wrote:
но заходит только в папку на активной панели, на другой ничего не происходит.
Забыл спросить. А одноимённая папка в другой панели точно имелась?
Quote:
то есть работает только по точным путям кроме буквы диска, а надо чтоб на путь не смотрело
Или кто-то случайно использовал первый вариант. Question
Code:
'============================= VBS =============================
' Синхронное открытие одноимённых каталогов/архивов в панелях ТС
' Условие: требуется TCScript.dll
' Ключ запрета несинхронного открытия: /n
'========================= Путь к TCFS2 ========================
TCFS2 = "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"
'===============================================================
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSS = CreateObject("WScript.Shell")
With CreateObject("TCScript.Helper")
  .Pause = 0 : .Wait = True : .LockTC True
  SP = .GetSrcPath : TP = .GetInfo("TP") : N = .GetInfo("SN")
  If .GetInfo("SN") = ".." Then
    If FSO.GetFileName(SP) = FSO.GetFileName(TP) Then
      If FSO.FolderExists("\\?\" & SP) Then
        For i = 0 To 1 : .SendCommand 2002, 1 : .SendCommand 4006, 1 : Next
      ElseIf FSO.FileExists("\\?\" & Left(SP, Len(SP) - 1)) Then
        WSS.Exec TCFS2 & " /ef ""tcd(`" & SP & ":`,`" & TP & ":`,S)"""
      End If
    End If
  ElseIf FSO.FolderExists("\\?\" & SP & N) Then
    If WSH.Arguments.Named.Exists("n") Then _
    If Not FSO.FolderExists("\\?\" & TP & N) Then WSH.Quit
    WSS.Exec TCFS2 & " /ef ""tcd(`" & SP & N & "`,`" & TP & N & "`,S)"""
  End If : .LockTC False
End With : Set FSO = Nothing


Last edited by Flasher on Sun Dec 24, 2017 22:48; edited 1 time in total

#24:  Author: ingerard PostPosted: Sun Dec 24, 2017 22:28
    —
Flasher wrote:
Забыл спросить. А одноимённая папка в другой панели точно имелась?

Да, конечно.

Flasher wrote:
Или кто-то случайно использовал первый вариант.

Нет, пробовал второй вариант. Только что снова проверил второй вариант, якобы с x64 не работает, так вот если открывать папки с разных дисков и сохранять идентичность путей, то работает. Может дело в другом?

Для наглядности гифка: https://i.imgur.com/vDXwwXp.gifv

Третий скрипт работает, тестирую, пока что нашел баг в параметре /n, он работает наоборот, в одинаковые не заходит.

#25:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 22:45
    —
ingerard wrote:
Может дело в другом?
Может. См. теперь.
Последний тоже поправил, но ключ я проверял, такой проблемы не было.

#26:  Author: ingerard PostPosted: Sun Dec 24, 2017 22:53
    —
Flasher
Супер, второй работает и третий, тестирую что быстрее Smile

Теперь такой вопрос, можно ли сделать какую-то кнопку, при нажатии которой назначался этот скрипт, на клавишу "Enter"?

#27:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 23:00
    —
ingerard wrote:
тестирую что быстрее
Второй должен быть побыстрее.

Кнопку как опцию что ли? Т. е. вкл./выкл. назначение в ТС этой команды на ENTER?

#28:  Author: ingerard PostPosted: Sun Dec 24, 2017 23:08
    —
Flasher wrote:
Кнопку как опцию что ли? Т. е. вкл./выкл. назначение в ТС этой команды на ENTER?

Да, нажимаю на кнопку и далее по клавише "Enter" работает скрипт. И еще как бы решить проблему "Backspace", не всегда удобно возвращать курсор на ".." и нажимать "Enter". Может сделать еще один параметр в скрипте, для отработки именно выхода из папки?

#29:  Author: FlasherLocation: Москва PostPosted: Sun Dec 24, 2017 23:27
    —
ingerard
Ключ добавил.
Насчёт кнопки думаю. Либо писать резидентный скрипт на AHK наподобие этого. Либо тупо обновлять ключ ENTER секции Shortcuts в wincmd.ini.

#30:  Author: ingerard PostPosted: Sun Dec 24, 2017 23:40
    —
Flasher wrote:
Ключ добавил.

Работает.

AHK это еще один лишний багаж, с которым могут быть проблемы с портативностью Sad

Flasher wrote:
Либо тупо обновлять ключ ENTER секции Shortcuts в wincmd.ini

Я подобное делал, только проблема заключается потребности перезагрузки ТК.



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


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

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next  :| |:
Page 2 of 9

Powered by phpBB © 2001, 2005 phpBB Group