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: Tue Apr 23, 2013 17:24    Post subject: Reply with quote

Кнопка не годится, если курсор на [..] без выделений. Поэтому скрипт:
Code:
'===================================================================================
' Перезаписать файл-список в ТС
' Условие: путь запуска пустой
' Параметр: %WL
'===================================================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
'=========================== Путь к файлу со списком ===============================
File = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\BOOKMARK\Bookmark1.txt"
'===================================================================================
With WScript.Arguments
  C = .Count : If C = 0 Then Line = WSH.CurrentDirectory Else List = .Item(0)
End With
With CreateObject("Scripting.FileSystemObject")
  If .FileExists(File) Then .DeleteFile File
  If C = 1 Then .MoveFile List, File Else .OpenTextFile(File, 2, True, -1).Write Line
End With : Set WSH = Nothing
Скрипт второй команды с использованием clip:
Code:
'==================================================================================
' Перейти к запомненному списку элементов

' Условие: в ТС создать команду em_cd ( Команда: cd  |  Параметры: %А )

' Автор: Flasher ©
'================================= Путь к TCFS2 ===================================
TCFS2  = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================================== Путь к Clip ===================================
Clip = """%COMMANDER_PATH%\Utils\clip.exe"""
'==================================================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
'=========================== Путь к файлу  со списком =============================
File = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\BOOKMARK\Bookmark1.txt"
'==================================================================================
Set Marks = FSO.GetFile(File).OpenAsTextStream(1, -1)
Arr = Split(Marks.ReadAll, vbNewLine) : Line = Arr(0)
If FSO.FileExists(Line) Or Right(Line, 1) <> "\" Then WSH.Run TCFS2 & "/ef ""tem(`em_cd " & Line & "\'`)""", 0, True Else _
WSH.Run TCFS2 & "/ef ""msg($0B,0) tem(`em_cd "&Line&"`) tcm(1001) msg($0B,1) redraw()", 0, True
If Ubound(Arr) > 1 Then
  WSH.Run "%comspec% /c """ & Clip & "<""" & File & """""", 0, True
  WSH.Run TCFS2 & "/ef ""tcm(2033) send(` `)""", 0, True : WSH.Run "%comspec% /c type|" & Clip, 0, True
End If : Marks.Close : Set Marks = Nothing : Set WSH = Nothing : Set FSO = Nothing : WScript.Quit
Тут есть один нюанс. Из-за того, что утилита посылает юникодный текст с запретным символом спереди, Тотал не выделяет первый элемент (под курсором). Исправлено.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Tue May 14, 2013 13:14; edited 2 times in total
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group