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 

Можно ли сделать следующее...
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 15:04    Post subject: Reply with quote

С выделением проблемы какие то, может вместо выделения придумать что нибудь другое например оставить в окнах найденные не совпадения, или в текстовый файл их запихнуть?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 15:29    Post subject: Reply with quote

visual wrote:
С выделением проблемы какие то, может вместо выделения придумать что нибудь другое например оставить в окнах найденные не совпадения, или в текстовый файл их запихнуть?

Даже, не знаю, что у тебя с выделением. У меня работает.
Что значит "оставить в окнах найденные не совпадения"?
А в файл - легко.
В каком виде, с каким именем и куда класть?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 15:41    Post subject: Reply with quote

Ааа... Вспомнил.
У тебя, случайно, при работе скрипта NumLock не моргает? Есть такой глюк в XP (у меня Win2k).
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 15:51    Post subject: Reply with quote

Batya wrote:
Ааа... Вспомнил.
У тебя, случайно, при работе скрипта NumLock не моргает? Есть такой глюк в XP (у меня Win2k).

У меня тоже win2k но когда num выключен то * также выделяет как и с включенным num
Может у нас версии разные ТС?


Last edited by visual on Fri Jan 27, 2006 15:56; edited 1 time in total
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 15:56    Post subject: Reply with quote

в виде таблицы exсel типа в левой колонке то что не совпало вправой а в правой то что не совпало влевой.
Ну если это сложно или долго , то просто в текстовый файл доспустим диска D:\ название файла любое например "сравнение"
Только я потом разбирусь какая панель левая какая правая?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 16:15    Post subject: Reply with quote

Давай, пока с выделением разберемся.
Поменяй кусок кода
Code:
If Len(SelectList1) > 0 Then
  SelectList1 = Mid(SelectList1, 2)
  TCS.SendCommand 521 'cm_SpreadSelection
  TCS.SendKeystroke SelectList1 & "{ENTER}"
End If
If Len(SelectList2) > 0 Then
  SelectList2 = Mid(SelectList2, 2)
  TCS.SendKeystroke "{TAB}"
  TCS.SendCommand 521 'cm_SpreadSelection
  TCS.SendKeystroke SelectList2 & "{ENTER}"
  TCS.SendKeystroke "{TAB}"
End If

на
Code:
If Len(SelectList1) > 0 Then
  SelectList1 = Mid(SelectList1, 2)
  TCS.SendCommand 521 'cm_SpreadSelection
  TCS.SendKeystroke SelectList1
End If

По-нормальному, у тебя должно отобразиться окно выделения с введенной маской выделения - перечень папок, которые нужно выделить. У тебя так?
Что происходит, если после этого нажать Enter?
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 16:28    Post subject: Reply with quote

Ошибка сценарий с:\путь к файлу .vbs
строка 36 символ 3 ошибка типа SendKeystroke
код 800A000D
А потом окно выделения с введенной маской выделения - перечень папок, которые нужно выделить.
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 16:36    Post subject: Reply with quote

но это окно у меня и в первом скрипте вылазило, и после него сразу файл не найден, я нажимал на ок. После чего выделялись все папки активной панели.
Пока у меня работает только когда захожу в 2 одинаковых каталога с одинаковым количеством подпапок. Тогда без всяких диалоговых окон ничего не происходит, то есть не выделяется ничего.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 16:49    Post subject: Reply with quote

Хм... Не понятно.
Ладно, давай попробуем по-другому:
Code:
'========================================================================
' Сравнивание папок в панелях TC на имена и количество вложенных подпапок

' В параметрах вызова из TC должно быть прописано (2 пар. через пробел):
' %P %T
'========================================================================

Dim FSO, TCS, FoldAct, FoldPas, Fold, WS
Set WS  = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TCS = CreateObject("TCScript.Helper")
Set FoldAct = FSO.GetFolder(WScript.Arguments(0))
Set FoldPas = FSO.GetFolder(WScript.Arguments(1))

Dim SelectList1, SelectList2
SelectList1 = ""
SelectList2 = ""
For Each Fold in FoldAct.SubFolders
  If Not FSO.FolderExists(FoldPas.Path & "\" & Fold.Name) Then
    SelectList1 = SelectList1 & ";" & Fold.Name
  Elseif Fold.SubFolders.Count <> _
         FSO.GetFolder(FoldPas.Path & "\" & Fold.Name).SubFolders.Count Then
    SelectList1 = SelectList1 & ";" & Fold.Name
    SelectList2 = SelectList2 & ";" & Fold.Name
  End If
Next
For Each Fold in FoldPas.SubFolders
  If Not FSO.FolderExists(FoldAct.Path & "\" & Fold.Name) Then
    SelectList2 = SelectList2 & ";" & Fold.Name
  End If
Next
TCS.LockTC True
TCS.Pause = 10
If Len(SelectList1) > 0 Then
  SelectList1 = Mid(SelectList1, 2)
  TCS.SendCommand 521 'cm_SpreadSelection
  WS.SendKeys SelectList1 & "{ENTER}"
End If
If Len(SelectList2) > 0 Then
  SelectList2 = Mid(SelectList2, 2)
  WS.SendKeys "{TAB}"
  TCS.SendCommand 521 'cm_SpreadSelection
  WS.SendKeys SelectList2 & "{ENTER}"
  WS.SendKeys "{TAB}"
End If
TCS.LockTC False

Set FSO = Nothing
Set TCS = Nothing
Set Fold = Nothing
Set FoldAct = Nothing
Set FoldPas = Nothing
Wscript.Quit()
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 17:01    Post subject: Reply with quote

Другой вариант - изменения показываю в Excell:
Code:
'========================================================================
' Сравнивание папок в панелях TC на имена и количество вложенных подпапок

' В параметрах вызова из TC должно быть прописано (2 пар. через пробел):
' %P %T
'========================================================================

Dim FSO, FoldAct, FoldPas, Fold, objXL
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FoldAct = FSO.GetFolder(WScript.Arguments(0))
Set FoldPas = FSO.GetFolder(WScript.Arguments(1))
Set objXL   = WScript.CreateObject("Excel.Application")

objXL.Workbooks.Add

Dim i, j
i = 1
j = 1
objXL.Cells(i,1).Value = FoldAct.Path
objXL.Cells(j,2).Value = FoldPas.Path
For Each Fold in FoldAct.SubFolders
  If Not FSO.FolderExists(FoldPas.Path & "\" & Fold.Name) Then
    i = i + 1
    objXL.Cells(i,1).Value = Fold.Name
  Elseif Fold.SubFolders.Count <> _
         FSO.GetFolder(FoldPas.Path & "\" & Fold.Name).SubFolders.Count Then
    i = i + 1
    objXL.Cells(i,1).Value = Fold.Name
    j = j + 1
    objXL.Cells(j,2).Value = Fold.Name
  End If
Next
For Each Fold in FoldPas.SubFolders
  If Not FSO.FolderExists(FoldAct.Path & "\" & Fold.Name) Then
    j = j + 1
    objXL.Cells(j,2).Value = Fold.Name
  End If
Next
objXL.Visible = True

Set FSO     = Nothing
Set objXL   = Nothing
Set Fold    = Nothing
Set FoldAct = Nothing
Set FoldPas = Nothing
Wscript.Quit()
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 17:10    Post subject: Reply with quote

Batya
Ты супер мега красавчик!!!
Первый код правда у меня так и не заработал, но это фигня.
Главное работает второй с Excel.
Спасибо тебе большое!!! ОГРОМНОЕ!!!
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 17:22    Post subject: Reply with quote

Sad
Жаль, что выделение не работает.
А если TCS.Pause еще больше увеличить? Скажем до 200?
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 18:05    Post subject: Reply with quote

до 1000 пробывал не получается, ну это даже лучше, Excel всмысле!
А можно чтобы тех подпапок которых меньше они в экселе тоже отображались?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2229
Location: Москва, Россия

Post (Separately) Posted: Fri Jan 27, 2006 18:21    Post subject: Reply with quote

visual wrote:
до 1000 пробывал не получается, ну это даже лучше, Excel всмысле!
А можно чтобы тех подпапок которых меньше они в экселе тоже отображались?

Не понял. Чего "меньше"?
Я думаю, что многое можно, главное - правильно поставить задачу.
Back to top
View user's profile Send private message
visual



Joined: 14 Jun 2005
Posts: 42

Post (Separately) Posted: Fri Jan 27, 2006 18:39    Post subject: Reply with quote

Всмысле в экселе под названием папки которая с одинаковым названием отобразились названия подпапок. Папки с различными названиями отдельно от папок с одинаковыми названиями но различным кол-вом.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group