Flasher

|
Posted: Tue Apr 23, 2013 17:24 Post subject: |
|
|
Кнопка не годится, если курсор на [..] без выделений. Поэтому скрипт: 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 |
|