Обсуждение темы "Обмен кнопками"
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 80, 81, 82, 83, 84  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1201:  Author: aLLigatorLocation: из тех ворот, что и весь народ... PostPosted: Mon Sep 06, 2021 14:58
    —
imig73 ладно, чуть детальнее..
Файл work.abc представляет собой TrueCrypt контейнер (abc это просто расширение файла), по двойному клику на который происходит запуск этого скрипта:
Code:
Dim strDriveLetter

Dim strPath2App

If WScript.Arguments.Count = 1 Then
   strContainerFile = WScript.Arguments.Item(0)
   
   With WScript.CreateObject("Scripting.FileSystemObject")
      If .FileExists(strContainerFile) Then
         strPath2TrueCrypt = .BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:ProgramFiles").self.Path, "TrueCrypt\TrueCrypt.exe")
         
         If .FileExists(strPath2TrueCrypt) Then
            strDriveLetter = Left(.GetBaseName(strContainerFile), 1) & ":"
            
            If Not .DriveExists(strDriveLetter) Then
               WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /letter " & strDriveLetter & " /volume """ & strContainerFile & """ /p *** /history n /cache y /mountoption removable /quit", 1, True

               strPath2App = .BuildPath(strDriveLetter, "autorun.vbs")
               
               If .FileExists(strPath2App) Then
                  WScript.CreateObject("WScript.Shell").Run """" & strPath2App & """", 1, False
               Else
                  WScript.Quit 4
               End If

            Else
               WScript.CreateObject("WScript.Shell").Run """" & strPath2TrueCrypt & """ /dismount " & strDriveLetter & " /quit", 1, False
            End If

         Else
            WScript.Echo "Can't find [" & strPath2TrueCrypt & "]."
            WScript.Quit 3
         End If
      Else
         WScript.Echo "Can't find TrueCrypt container file [" & strContainerFile & "]."
         WScript.Quit 2
      End If
   End With
Else
   WScript.Echo "Usage: " & WScript.ScriptName & " <TrueCrypt container file>"
   WScript.Quit 1
End If

WScript.Quit 0

т.е. тут важно как имя файла так и то что в первый раз идет монтирование, а при повторном "запуске" демонтирование.
Хочу еще чуть автоматизировать и запускать (монтировать/демонтировать) с панели инструментов.

#1202:  Author: imig73Location: г. Иркутск PostPosted: Mon Sep 06, 2021 15:24
    —
aLLigator
К сожалению я не знаю что делать с TrueCrypt контейнером и расширением abc.

#1203:  Author: sa PostPosted: Mon Sep 06, 2021 16:03
    —
aLLigator
Кнопка с командой cm_ContextMenuInternalCursor не подойдёт?

#1204:  Author: aLLigatorLocation: из тех ворот, что и весь народ... PostPosted: Mon Sep 06, 2021 17:01
    —
sa спасибо за предложение, но если переходить в каталог к файлу и выбирать его под курсор то проще сразу сделать двойной клик чем переводить потом с него курсор на панель инструментов, а затем обратно на файл и выпадающее меню.

#1205:  Author: sa PostPosted: Mon Sep 06, 2021 17:16
    —
aLLigator wrote:
а затем обратно на файл и выпадающее меню
Эту часть можно было бы и автоматизировать.
Только теперь понял, что файл не надо держать под курсором, скорее наоборот.
Можно, конечно, предварительно выполнить пользовательскую команду (на основе cd) для перехода к нужному файлу, затем программный аналог для ENTER, а в конце вернуться обратно...
Что-то наподобие такой сцепки команд: em_cd_work_abc,cm_Return,cm_GotoPreviousDir .


Last edited by sa on Mon Sep 06, 2021 22:54; edited 1 time in total

#1206:  Author: aLLigatorLocation: из тех ворот, что и весь народ... PostPosted: Mon Sep 06, 2021 19:35
    —
Решил таки свою задачу:
Code:
TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\TrueCrypt_rm.vbs" "d:\work.edc"

C:\Program Files (x86)\TotalCommander\ICO\sys\edc.ico


0
-1

#1207:  Author: krmit PostPosted: Tue Nov 16, 2021 17:45
    —
Помогите, пожалуйста, доработать кнопочку http://forum.wincmd.ru/viewpost.php?p=66683, чтобы ярлык переименовывался именем папки, в которой лежит исходный файл.
ЗЫ: если кнопкой такое не получится, можно на скрипт заменить.

#1208: Кнопка показать/скрыть папки Author: 7995 PostPosted: Mon Dec 13, 2021 19:52
    —
Подскажите, плз, код для кнопки скрыть/показать папки. Нашел решение только скрывать
Code:
TOTALCMD#BAR#DATA
cd *.*|*\
WCMICONS.DLL,24
Files only
0
-1

Но это неудобно, т.к. когда скрыл, то экскейп не возвращает значение на все обратно.

Можно ли как-то сделать переключателем?

И еще может быть есть какой-то обходной путь отключить отображение папок всегда сверху, и если я сортирую по дате, то они отображались как и файлы по дате списком, а не над файлами?

#1209:  Author: sa PostPosted: Mon Dec 13, 2021 22:55
    —
7995
Здесь приводилась кнопка с использованием утилиты TCFS2. Для её работы потребуется создать в TC пользовательскую команду em_cd с командой cd и параметрами %A%Z.
Как вариант, в кнопке вместо tcm(312) можно записать tem(`em_cd *.*`).

#1210:  Author: Monarch-LFV PostPosted: Tue Dec 14, 2021 03:22
    —
7995
У меня реализовано через скрипт VBS:
Code:
'======================================================================
' Сделать скрытыми/нескрытыми выделенные объекты (без рекурсии)

' Параметры:
' {файл-список}

' Пример параметров вызова из TC:
' %WL
'======================================================================
Option Explicit
on error resume next
Dim FSO, FileList, List, F, object1
Set FSO  = CreateObject("Scripting.FileSystemObject")
FileList = WScript.Arguments(0)
List     = Split(FSO.OpenTextFile(FileList,,,-1).ReadAll, vbNewLine)
For Each F In List
  If F <> "" Then
    set object1 = CreateObject("Scripting.FileSystemObject").Getfile(F) ' Имя файла
   set object1 = CreateObject("Scripting.FileSystemObject").GetFolder(F) ' Имя папки
   If object1.attributes and 2 Then
          object1.attributes = object1.attributes - 2
      Else
           object1.attributes = object1.attributes + 2
      End If

  End If
Next

Set FSO = Nothing
Wscript.Quit 0

Создать файл с содержимым, назвать его *.VBS, повесить на кнопку с параметром %WL (или сделать команду по горячей клавише, как я себе сделал по Ctrl+Shift+h). Выделенные объекты скрывает или делает нескрытыми.

#1211:  Author: 7995 PostPosted: Tue Dec 14, 2021 03:55
    —
Monarch-LFV
Спасибо, но моя задача в оп-посте о другом.

#1212:  Author: Monarch-LFV PostPosted: Tue Dec 14, 2021 04:50
    —
7995
Да, сорри, дейстивтельно, неправильно понял задачу. Ваша кнопка ставит фильтр, а отменить его соответственно можно по комбинации Ctrl+F10 (вместо приведенного вами Esc). Или другой кнопкой с командой cm_SrcAllFiles.
Или можно, например, назначить кнопке Esc эту команду. Тогда Esc будет работать и в основном своем предназначении отмены (у меня работает, протестил), а также будет сбрасывать фильтр. Для этого нужно в wincmd.ini в секции [Shortcuts] прописать:
Code:
ESC=cm_SrcAllFiles

#1213:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Dec 14, 2021 07:16
    —
7995
Для запросов кнопок есть специальная тема, куда во избежание захламления подфорума "Общие вопросы" всё это и переносится.
У клавиши Esc свои задачи, а режим "Все файлы", как было сказано, включается по Ctrl+F10. Переназначать команду cm_SrcAllFiles на Esc я бы не советовал.
Смешанной сортировки файлов с папками в TC нет, о чём говорилось сто раз, учитесь пользоваться поиском по форуму. Соблюдайте правила.

#1214:  Author: sa PostPosted: Tue Dec 14, 2021 14:46
    —
7995 wrote:
обходной путь отключить отображение папок всегда сверху

Можно отсортировать по дате файлы/папки на стороне (в Excel, к примеру) или вручную и, сохранив их имена (у папок должен быть \ в конце) в текстовый файл, загрузить в панель TC (можно с конкретным пользовательским набором колонок) командой LOADLIST. Только не пытайтесь сортировать колонки в панели заново – папки снова окажутся сверху!
Если такие "Результаты поиска:" устраивают, то дело за скриптом для сортировки по дате и вызова команды LOADLIST.

#1215:  Author: AvadaLocation: Россия, Саратов PostPosted: Tue Dec 14, 2021 15:10
    —
sa
Как справедливо было замечено, результат такой вставки проживёт ровно до первого же изменения сортировки и выводится только в виде виртуальной папки с результатами поиска (со всеми её ограничениями). Я эту "фичу" заметил сразу же с появлением LOADLIST, но расцениваю её просто как забавный побочный эффект применения указанной команды — и не более того. Сильно сомневаюсь, что для нормальной работы в TC такое может кому-то реально пригодиться.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 80, 81, 82, 83, 84  Next  :| |:
Page 81 of 84

Powered by phpBB © 2001, 2005 phpBB Group