Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Синхронная смена каталогов 
Author Message
Flasher



PostPosted: Sun Dec 24, 2017 19:56    Post subject: Reply with quote

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

_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Sun Dec 24, 2017 22:48; edited 1 time in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group