Single Post |
Topic: Сравнить в панелях списки каталогов |
Author |
Message |
avyor

|
Posted: Wed Aug 17, 2011 22:00 Post subject: Сравнить в панелях списки каталогов |
|
|
Продолжение темы, начатой здесь http://forum.wincmd.ru/viewtopic.php?t=14077
Flasher
Сделал файл comparecatalogs.vbs с усечённым вариантом кода (только папки):
Code: |
' Выделение в панелях одноимённых, но разноразмерных папок
' Необходима регистрация Script Helper ActiveX for TC
' Параметр: "%P" "%T"
'==================================================
With CreateObject("Scripting.FileSystemObject")
Set P = .GetFolder(WScript.Arguments(0))
Set T = .GetFolder(WScript.Arguments(1))
End With
Set D = CreateObject("Scripting.Dictionary")
Set G = CreateObject("Scripting.Dictionary")
For Each F in P.SubFolders
D.Add F.Name, F.SIze
Next
For Each F in T.SubFolders
G.Add F.Name, F.SIze
Next
For Each F in D.Keys
If G.Exists(F) And D(F) <> G(F) Then S = S & vbnewline & F & "\"
Next
With CreateObject("TCScript.Helper")
T = .GetTextFromClip
.SetTextToClip(S)
.LockTC True
.SendCommand 4001
.SendCommand 2033
.SendCommand 4002
.SendCommand 2033
.LockTC False
.SetTextToClip(T)
End With
Wscript.Quit
|
Затем сделал кнопку с ним с параметрами "%P %T". Последнюю версию Script Helper ActiveX for TC beta12 установил, рантаймы VB6 тоже.
Volniy писал:
Quote: |
регистрация ActiveX сервера всегда сопровождается записью в реестр, причем именно в HKLM
|
Запись в HKLM есть:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6ED70EDA-595D-4298-B417-250CCBA7FFDA}\LocalServer32]
@="H:\\Total Commander 7.5.6\\Plugins\\exe\\TCWSHelp.exe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{6F7C65FD-C08B-4EBF-966E-E60F8EAA6E97}\1.0\0\win32]
@="H:\\Total Commander 7.5.6\\Plugins\\exe\\TCWSHelp.exe"
Но выдается сообщение об ошибке:
Quote: |
Сценарий: h:\Total Commander 7.5.6\scripts\comparecatalogs.vbs
Строка: 6
Символ: 3
Ошибка: Путь не найден
Код: 800А004С
Источник: Ошибка выполнения Microsoft VBScript
|
6-я строка:
Set P = .GetFolder(WScript.Arguments(0))
3-й символ - это "S".
Продублировал код в файле comparecatalogs.wsf и тоже сделал кнопку.
Теперь в сообщении об ошибке:
Quote: |
Сценарий: h:\Total Commander 7.5.6\scripts\comparecatalogs.wsf
Строка: 19
Символ: 29
Ошибка: Ожидается допустимое имя
Код: 8004000А
Источник: Windows Script Host
|
19-я строка:
If G.Exists(F) And D(F) <> G(F) Then S = S & vbnewline & F & "\"
29-й символ - это пробел.
Что не так? |
|
|
|
 |
|
Powered by phpBB © 2001, 2005 phpBB Group
|