View previous topic :: View next topic |
Author |
Message |
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 19:13 Post subject: |
|
|
Flasher
Ошибка исчезла, но заходит только в папку на активной панели, на другой ничего не происходит. Хотя если открыть в двух панелях одинаковые пути, типа "c:\" и "c:\", то срабатывает нормально.
p.s. то есть работает только по точным путям кроме буквы диска, а надо чтоб на путь не смотрело. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 19:16 Post subject: |
|
|
ingerard
А на TC x32 как? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 19:17 Post subject: |
|
|
Flasher
А у меня только x32. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 19:18 Post subject: |
|
|
ingerard
А система? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 19:19 Post subject: |
|
|
Flasher
Win7 x64. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 19:34 Post subject: |
|
|
ingerard
Проблема в GetTrgPath/SetTrgPath на x64, по-видимому.
Добавлено спустя 16 минут:
А как дела обстоят с выходом? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sun Dec 24, 2017 23:08; edited 1 time in total |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 19:52 Post subject: |
|
|
Flasher
Печально, может можно другим приложением решить задачу? Типа TCFS...
Quote: | А как дела обстоят с выходом? |
С ним кстати все нормально. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 19:56 Post subject: |
|
|
ingerard
Можно, конечно. Чуть позже выложу с правками. Слегка занят. ingerard wrote: | С ним кстати все нормально. | Хорошо.
ingerard wrote: | но заходит только в папку на активной панели, на другой ничего не происходит. | Забыл спросить. А одноимённая папка в другой панели точно имелась?
Quote: | то есть работает только по точным путям кроме буквы диска, а надо чтоб на путь не смотрело | Или кто-то случайно использовал первый вариант.
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 |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Sun Dec 24, 2017 22:48; edited 1 time in total |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 22:28 Post subject: |
|
|
Flasher wrote: | Забыл спросить. А одноимённая папка в другой панели точно имелась? |
Да, конечно.
Flasher wrote: | Или кто-то случайно использовал первый вариант. |
Нет, пробовал второй вариант. Только что снова проверил второй вариант, якобы с x64 не работает, так вот если открывать папки с разных дисков и сохранять идентичность путей, то работает. Может дело в другом?
Для наглядности гифка: https://i.imgur.com/vDXwwXp.gifv
Третий скрипт работает, тестирую, пока что нашел баг в параметре /n, он работает наоборот, в одинаковые не заходит. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 22:45 Post subject: |
|
|
ingerard wrote: | Может дело в другом? | Может. См. теперь.
Последний тоже поправил, но ключ я проверял, такой проблемы не было. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 22:53 Post subject: |
|
|
Flasher
Супер, второй работает и третий, тестирую что быстрее
Теперь такой вопрос, можно ли сделать какую-то кнопку, при нажатии которой назначался этот скрипт, на клавишу "Enter"? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 23:00 Post subject: |
|
|
ingerard wrote: | тестирую что быстрее | Второй должен быть побыстрее.
Кнопку как опцию что ли? Т. е. вкл./выкл. назначение в ТС этой команды на ENTER? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 23:08 Post subject: |
|
|
Flasher wrote: | Кнопку как опцию что ли? Т. е. вкл./выкл. назначение в ТС этой команды на ENTER? |
Да, нажимаю на кнопку и далее по клавише "Enter" работает скрипт. И еще как бы решить проблему "Backspace", не всегда удобно возвращать курсор на ".." и нажимать "Enter". Может сделать еще один параметр в скрипте, для отработки именно выхода из папки? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Dec 24, 2017 23:27 Post subject: |
|
|
ingerard
Ключ добавил.
Насчёт кнопки думаю. Либо писать резидентный скрипт на AHK наподобие этого. Либо тупо обновлять ключ ENTER секции Shortcuts в wincmd.ini. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
ingerard
Joined: 04 Dec 2016 Posts: 128
|
(Separately) Posted: Sun Dec 24, 2017 23:40 Post subject: |
|
|
Flasher wrote: | Ключ добавил. |
Работает.
AHK это еще один лишний багаж, с которым могут быть проблемы с портативностью
Flasher wrote: | Либо тупо обновлять ключ ENTER секции Shortcuts в wincmd.ini |
Я подобное делал, только проблема заключается потребности перезагрузки ТК. |
|
Back to top |
|
|
|