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: Sat Apr 27, 2013 22:13    Post subject: Reply with quote

toran30
Как насчёт такого варианта?:
Code:
'==========================================================================
' Выделение в другой панели папок, имеющих все выделенные элементы активной

' Параметры: %F "%T"
'================================ Путь к TCFS2 ============================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'==========================================================================

With WScript.Arguments
  If .Count = 0 Then WScript.Quit
  List = .Item(0) : Target = .Item(1)
End With : NL = vbNewLine

With CreateObject("Scripting.FileSystemObject")
  Names = .OpenTextFile(List, 1).ReadAll
  Arr = Split(Names, NL) : Count = Ubound(Arr) : Names = NL & Names
  For Each Fd in .GetFolder(Target).SubFolders
    n = 0 : Set Fold = .GetFolder(Fd)
    If .FolderExists(Arr(0)) Then
      For Each F in Fold.SubFolders
        If InStr(Names, NL & .GetFileName(F) & "\" & NL) Then n = n + 1
      Next
    End If
    For Each F in Fold.Files
      If InStr(Names, NL & .GetFileName(F) & NL) Then n = n + 1
    Next : If n = Count Then Folders = Folders & Fd & "\" & NL
  Next
End With
If Folders <> "" Then
  Dim WSH : Set WSH = CreateObject("WScript.Shell")
  P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
  A = WSH.RegRead(P) : If A > 0 Then WSH.RegWrite P, 0, "REG_DWORD"
  With CreateObject("InternetExplorer.Application")
    .Navigate("about:blank")
    T = .Document.ParentWindow.ClipboardData.GetData("text")
    .Document.ParentWindow.ClipboardData.SetData "text", Folders
    WSH.Run TCFS2 & "/ef ""send({tab}) tcm(2033)""", 0, True
    .Document.ParentWindow.ClipboardData.SetData "text", T
    .ExecWB 45, 2 : .Quit
  End With : If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
End If : Set WSH = Nothing : WScript.Quit

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


Powered by phpBB © 2001, 2005 phpBB Group