View previous topic :: View next topic |
Author |
Message |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Sun Apr 21, 2013 20:28 Post subject: |
|
|
Flasher wrote: | Зачем добавлять в закладки то, что можно запомнить в плейлисте и проиграть сразу там? |
Тогда идут примеры с отправкой файлов-закладок на редактирование.
Flasher wrote: | Пример с виртуальными панелями тоже куда продуктивнее закладок. |
Я бы хотел видеть файлы-закладки в своей среде - т.е. среди остальных файлов. Анализировать, сравнивать. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
mf-zl

Joined: 21 Aug 2005 Posts: 71 Location: BLR
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 22, 2013 08:58 Post subject: |
|
|
Не на 100% уверен в точности отработки. Пробуйте. Code: | '================================================================================
' Перейти к запомненному списку элементов / запомнить выбранный список элементов
' Параметр: %WL
' Автор: Flasher ©
'================================= Путь к TCMC ==================================
TCMC = """%COMMANDER_PATH%\Utils\TCMC\TCMC.exe"""
'================================ Путь к TCFS2 ==================================
TCFS2 = """%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"""
'================================================================================
Dim WSH : Set WSH = CreateObject("WScript.Shell")
'=========================== Путь к файлу с записью =============================
File = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\Scripts\Bookmark.txt"
'================================================================================
With WScript.Arguments
C = .Count : If C = 0 Then Line = WSH.CurrentDirectory Else List = .Item(0)
End With
With CreateObject("Scripting.FileSystemObject")
If Not .FileExists(File) Then
If C = 1 Then .MoveFile List, File Else _
.OpenTextFile(File, 2, True, -1).Write Line
Else
Set Temp = .GetFile(File).OpenAsTextStream(1, -1)
All = Temp.ReadAll : Arr = Split(All, vbNewLine) : Line = Arr(0)
Temp.Close : Set Temp = Nothing
If .FileExists(Line) Or Right(Line, 1) <> "\" Then
WSH.Run TCMC & " cds """ & Line & "\'"" """"", 0, True
Else
WSH.Run TCFS2 & "/ef msg($0B,0)", 0, True
WSH.Run TCMC & " cds """ & Line & """ """"", 0, True
WSH.Run TCFS2 & "/ef tcm(1001) msg($0B,1) redraw()", 0, True
End If
If Ubound(Arr) > 1 Then
P = "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3\1407"
A = WSH.RegRead(P) : If A > 0 Then WSH.RegWrite P, 0, "REG_DWORD"
With CreateObject("InternetExplorer.Application")
.Navigate("about:blank")
T = .Document.ParentWindow.ClipboardData.GetData("text")
.Document.ParentWindow.ClipboardData.SetData "text", All
WSH.Run TCFS2 & "/ef tcm(2033)", 0, True
.Document.ParentWindow.ClipboardData.SetData "text", T
.ExecWB 45, 2 : .Quit
End With : If A > 0 Then WSH.RegWrite P, A, "REG_DWORD"
End If : If .FileExists(File) Then .DeleteFile File
End If
End With : Set WSH = Nothing |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Mon Apr 22, 2013 15:18 Post subject: |
|
|
Code: | ---------------------------
Windows Script Host
---------------------------
Сценарий: D:\TotalCmd8\PLUGINS\vbs\1.vbs
Строка: 21
Символ: 19
Ошибка: Путь не найден
Код: 800A004C
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------
|
_________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 22, 2013 16:27 Post subject: |
|
|
Путь к файлу закладок не указан или указан неправильно. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Mon Apr 22, 2013 18:10 Post subject: |
|
|
Снова, как обязательное:
Разрешить программный доступ к буферу обмена > Включить.
Без этого никак? По умолчанию в системе (8-ка) - Предлагать.
Flasher wrote: | Путь к файлу закладок не указан или указан неправильно. |
Как правильно выглядит строка, если нужно будет в %COMMANDER_PATH%\BOOKMARK\bookmark1.txt?
Пока прописал так:
Code: | File = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "1.txt" |
Думал, создаст в корне TC, а создаёт в корне диска.
Есть издержки, но в целом работает. Конечно, не то, чего я ожидал. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 22, 2013 18:37 Post subject: |
|
|
ask-rus wrote: | Без этого никак? | Я не был в восьмёрке. Nircmd могу включить, если устроит.
ask-rus wrote: | Думал, создаст в корне TC, а создаёт в корне диска. | Перед именем косую черту пропустил.
ask-rus wrote: | не то, чего я ожидал. | А что ожидал? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Mon Apr 22, 2013 19:00 Post subject: |
|
|
Flasher wrote: | Nircmd могу включить, если устроит. |
Если с Предлагать скрипт будет работать, то устроит.
Flasher wrote: | А что ожидал? |
В данном случае обратиться к файлам-закладкам я могу только единожды. Я ожидал два скрипта в одном, т.е. для установки закладки запуск скрипта с одним параметром, для перехода к закладке - с другим. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
LonerD

Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
|
(Separately) Posted: Mon Apr 22, 2013 19:22 Post subject: |
|
|
Flasher
Вроде чётко отрабатывает, погонял немного - ошибок не обнаружилось.
В режиме просмотра без каталогов - выбивает ошибку (в отличие от предыдущего скрипта), но это и понятно - тут ведь цель другая.
Стоп. Несколько раз выбивало ошибку при первом вызове когда закладка сохраняется (а строку ошибки не запомнил), но теперь не воспроизводится, всё работает.
ask-rus
А вот как сейчас в скрипте, только название каталога и файла "\Scripts\Bookmark.txt" заменить на свои - "\BOOKMARK\bookmark1.txt".
Создаёт в корне диска, потому что в пути пропущен слеш - надо & "\1.txt"
mf-zl
Теперь при положении курсора на .. - закладка не запоминается и ничего не происходит (лучше бы запоминалось и переходило на эту позицию).
Переход всё также - переходит в большинстве случаев не на запомненный файл/каталог - а просто в каталог, в котором расположен запомненный объект. _________________ Windows 11 | TC DreamLair eternal pre-α
Last edited by LonerD on Mon Apr 22, 2013 20:29; edited 1 time in total |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 22, 2013 19:53 Post subject: |
|
|
ask-rus wrote: | В данном случае обратиться к файлам-закладкам я могу только единожды. Я ожидал два скрипта в одном, т.е. для установки закладки запуск скрипта с одним параметром, для перехода к закладке - с другим. | Тут алгоритм несколько другой будет. То, что ты хочешь, проще реализуется.
Первая команда-кнопка:
Code: | TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd move /y
%WL "%%COMMANDER_PATH%%\Bookmark.txt"
wcmicons.dll,59
Записать выбранный список в файл-закладку |
Ммм.. А вот со второй командой проблема. У nircmd c буфером есть определённые ограничения. Он не может писать кириллицу и Юникод. Надо что-то другое придумывать..
LonerD wrote: | но это и понятно - тут ведь цель другая | Конечно.
LonerD wrote: | но теперь не воспроизводится, всё работает | Вот и ладненько.
LonerD wrote: | Создаёт в корне диска, потому что в пути пропущен слеш | > Flasher wrote: | Перед именем косую черту пропустил. |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) 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 |
|
Back to top |
|
 |
ask-rus

Joined: 10 Nov 2009 Posts: 2077 Location: Russian Federation
|
(Separately) Posted: Wed Apr 24, 2013 08:52 Post subject: |
|
|
Flasher
Нет возможности проверить пока. Достаточно настораживает момент:
Flasher wrote: | Тотал не выделяет первый элемент (под курсором). |
Некрасиво, по-моему.
Кстати, в твоих скриптах нужен Хелпер? Я не помню, был ли он у меня зареган при тестах. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Apr 24, 2013 09:23 Post subject: |
|
|
ask-rus wrote: | Некрасиво, по-моему. | Я могу нажимать Space, хочется с TCFS2, но там проблема.
ask-rus wrote: | в твоих скриптах нужен Хелпер? | Памятка - пункт 8.
Обсуждение буфера и портабельности в этой ветке. Поиск в скриптах по Helper.
С вопросами новичка завяжешь когда-нибудь?  _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2694
|
(Separately) Posted: Wed Apr 24, 2013 09:45 Post subject: |
|
|
Flasher wrote: | Я могу нажимать Space, хочется с TCFS2 |
Используй просто пробел (без всяких {SP} или {SPACE}). |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Apr 24, 2013 10:00 Post subject: |
|
|
sa
Пробовал. Давай с этим вопросом в соотв. топик.
Добавлено спустя 1 час 26 минут:
Flasher wrote: | Я могу нажимать Space, хочется с TCFS2 | Дополнил скрипт. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
|
|
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
|