View previous topic :: View next topic |
Author |
Message |
aLLigator
Joined: 01 Dec 2011 Posts: 166 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Mon Sep 06, 2021 14:58 Post subject: |
|
|
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 |
т.е. тут важно как имя файла так и то что в первый раз идет монтирование, а при повторном "запуске" демонтирование.
Хочу еще чуть автоматизировать и запускать (монтировать/демонтировать) с панели инструментов. |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Mon Sep 06, 2021 15:24 Post subject: |
|
|
aLLigator
К сожалению я не знаю что делать с TrueCrypt контейнером и расширением abc. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Mon Sep 06, 2021 16:03 Post subject: |
|
|
aLLigator
Кнопка с командой cm_ContextMenuInternalCursor не подойдёт? |
|
Back to top |
|
|
aLLigator
Joined: 01 Dec 2011 Posts: 166 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Mon Sep 06, 2021 17:01 Post subject: |
|
|
sa спасибо за предложение, но если переходить в каталог к файлу и выбирать его под курсор то проще сразу сделать двойной клик чем переводить потом с него курсор на панель инструментов, а затем обратно на файл и выпадающее меню. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Mon Sep 06, 2021 17:16 Post subject: |
|
|
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 |
|
Back to top |
|
|
aLLigator
Joined: 01 Dec 2011 Posts: 166 Location: из тех ворот, что и весь народ...
|
(Separately) Posted: Mon Sep 06, 2021 19:35 Post subject: |
|
|
Решил таки свою задачу:
Code: | TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\TrueCrypt_rm.vbs" "d:\work.edc"
C:\Program Files (x86)\TotalCommander\ICO\sys\edc.ico
0
-1
|
|
|
Back to top |
|
|
krmit
Joined: 09 Nov 2019 Posts: 7
|
(Separately) Posted: Tue Nov 16, 2021 17:45 Post subject: |
|
|
Помогите, пожалуйста, доработать кнопочку http://forum.wincmd.ru/viewpost.php?p=66683, чтобы ярлык переименовывался именем папки, в которой лежит исходный файл.
ЗЫ: если кнопкой такое не получится, можно на скрипт заменить. |
|
Back to top |
|
|
7995
Joined: 13 Dec 2021 Posts: 2
|
(Separately) Posted: Mon Dec 13, 2021 19:52 Post subject: Кнопка показать/скрыть папки |
|
|
Подскажите, плз, код для кнопки скрыть/показать папки. Нашел решение только скрывать
Code: | TOTALCMD#BAR#DATA
cd *.*|*\
WCMICONS.DLL,24
Files only
0
-1 |
Но это неудобно, т.к. когда скрыл, то экскейп не возвращает значение на все обратно.
Можно ли как-то сделать переключателем?
И еще может быть есть какой-то обходной путь отключить отображение папок всегда сверху, и если я сортирую по дате, то они отображались как и файлы по дате списком, а не над файлами? |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Mon Dec 13, 2021 22:55 Post subject: |
|
|
7995
Здесь приводилась кнопка с использованием утилиты TCFS2. Для её работы потребуется создать в TC пользовательскую команду em_cd с командой cd и параметрами %A%Z.
Как вариант, в кнопке вместо tcm(312) можно записать tem(`em_cd *.*`). |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Tue Dec 14, 2021 03:22 Post subject: |
|
|
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). Выделенные объекты скрывает или делает нескрытыми. |
|
Back to top |
|
|
7995
Joined: 13 Dec 2021 Posts: 2
|
(Separately) Posted: Tue Dec 14, 2021 03:55 Post subject: |
|
|
Monarch-LFV
Спасибо, но моя задача в оп-посте о другом. |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Tue Dec 14, 2021 04:50 Post subject: |
|
|
7995
Да, сорри, дейстивтельно, неправильно понял задачу. Ваша кнопка ставит фильтр, а отменить его соответственно можно по комбинации Ctrl+F10 (вместо приведенного вами Esc). Или другой кнопкой с командой cm_SrcAllFiles.
Или можно, например, назначить кнопке Esc эту команду. Тогда Esc будет работать и в основном своем предназначении отмены (у меня работает, протестил), а также будет сбрасывать фильтр. Для этого нужно в wincmd.ini в секции [Shortcuts] прописать:
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Tue Dec 14, 2021 07:16 Post subject: |
|
|
7995
Для запросов кнопок есть специальная тема, куда во избежание захламления подфорума "Общие вопросы" всё это и переносится.
У клавиши Esc свои задачи, а режим "Все файлы", как было сказано, включается по Ctrl+F10. Переназначать команду cm_SrcAllFiles на Esc я бы не советовал.
Смешанной сортировки файлов с папками в TC нет, о чём говорилось сто раз, учитесь пользоваться поиском по форуму. Соблюдайте правила. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2597
|
(Separately) Posted: Tue Dec 14, 2021 14:46 Post subject: |
|
|
7995 wrote: | обходной путь отключить отображение папок всегда сверху |
Можно отсортировать по дате файлы/папки на стороне (в Excel, к примеру) или вручную и, сохранив их имена (у папок должен быть \ в конце) в текстовый файл, загрузить в панель TC (можно с конкретным пользовательским набором колонок) командой LOADLIST. Только не пытайтесь сортировать колонки в панели заново – папки снова окажутся сверху!
Если такие "Результаты поиска:" устраивают, то дело за скриптом для сортировки по дате и вызова команды LOADLIST. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Tue Dec 14, 2021 15:10 Post subject: |
|
|
sa
Как справедливо было замечено, результат такой вставки проживёт ровно до первого же изменения сортировки и выводится только в виде виртуальной папки с результатами поиска (со всеми её ограничениями). Я эту "фичу" заметил сразу же с появлением LOADLIST, но расцениваю её просто как забавный побочный эффект применения указанной команды — и не более того. Сильно сомневаюсь, что для нормальной работы в TC такое может кому-то реально пригодиться. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
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
|