Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Запуск поиска в текущей папке файла, имя которого находится в буфере обмена

Q: Нужно найти файл, имя которого сейчас в буфере обмена. Как сделать?
A: Скрипт на TCWSHelper:

'============================================================================
'Запуск поиска в текущей папке файла, имя которого находится в буфере обмена.
'============================================================================

Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.Pause=100
TCS.LockTC True
TCS.SendCommand(501)
TCS.SendKeystroke (TCS.GetTextFromClip)
TCS.SendKeystroke ("{Enter}")
TCS.LockTC False
Set TCS=Nothing
Wscript.Quit

Batya


Q: А как сделать, чтобы поиск слова из буфера происходил внутри файлов (галочка "с текстом"), а поле "искать файлы" оставалось пустым...?!
A: Скрипт:

'=====================================================================
' Запуск поиска в текущей папке по содержимому тексту из буфера
'=====================================================================

Dim TCS, Str
Set TCS = CreateObject("TCScript.Helper")
Str = TCS.GetTextFromClip ' Текст из буфера
TCS.Pause=100
TCS.LockTC True
TCS.SendCommand(501)
TCS.SendKeystroke ("{DEL}") ' Очистить файловую маску
TCS.SendKeystroke ("{TAB 5} ") ' Перейти к чекбоксу и нажать пробел
If Len(Str) > 0 Then
TCS.SendKeystroke (Str) ' Вставить текст
'TCS.SendKeystroke ("+{TAB 6}") ' Вернуться в поле ввода файловой маски
TCS.SendKeystroke ("{Enter}") ' Запустить поиск
End If
TCS.LockTC False
Set TCS = Nothing
Wscript.Quit

При желании, для ввода файловой маски в скрипте можно закомментировать 16 строку и раскомментировать 15 строку. Тогда поиск не запустится - нужно ввести маску и нажать Enter.

Batya