Страница 81 из 88
Добавлено: Пн сен 06, 2021 13:58
aLLigator
imig73 ладно, чуть детальнее..
Файл work.abc представляет собой TrueCrypt контейнер (abc это просто расширение файла), по двойному клику на который происходит запуск этого скрипта:
Код: Выделить всё
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
т.е. тут важно как имя файла так и то что в первый раз идет монтирование, а при повторном "запуске" демонтирование.
Хочу еще чуть автоматизировать и запускать (монтировать/демонтировать) с панели инструментов.
Добавлено: Пн сен 06, 2021 14:24
imig73
aLLigator
К сожалению я не знаю что делать с TrueCrypt контейнером и расширением abc.
Добавлено: Пн сен 06, 2021 15:03
sa
aLLigator
Кнопка с командой cm_ContextMenuInternalCursor не подойдёт?
Добавлено: Пн сен 06, 2021 16:01
aLLigator
sa спасибо за предложение, но если переходить в каталог к файлу и выбирать его под курсор то проще сразу сделать двойной клик чем переводить потом с него курсор на панель инструментов, а затем обратно на файл и выпадающее меню.
Добавлено: Пн сен 06, 2021 16:38
sa
aLLigator писал(а):а затем обратно на файл и выпадающее меню
Эту часть можно было бы и автоматизировать.
Только теперь понял, что файл не надо держать под курсором, скорее наоборот.
Можно, конечно, предварительно выполнить пользовательскую команду (на основе cd) для перехода к нужному файлу, затем программный аналог для ENTER, а в конце вернуться обратно...
Что-то наподобие такой сцепки команд: e
m_cd_work_abc,cm_Return,cm_GotoPreviousDir .
Добавлено: Пн сен 06, 2021 18:35
aLLigator
Решил таки свою задачу:
Код: Выделить всё
TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\TrueCrypt_rm.vbs" "d:\work.edc"
C:\Program Files (x86)\TotalCommander\ICO\sys\edc.ico
0
-1
Добавлено: Вт ноя 16, 2021 16:45
krmit
Помогите, пожалуйста, доработать кнопочку
http://forum.wincmd.ru/viewpost.php?p=66683, чтобы ярлык переименовывался именем папки, в которой лежит исходный файл.
ЗЫ: если кнопкой такое не получится, можно на скрипт заменить.
Кнопка показать/скрыть папки
Добавлено: Пн дек 13, 2021 18:52
7995
Подскажите, плз, код для кнопки скрыть/показать папки. Нашел решение только скрывать
Код: Выделить всё
TOTALCMD#BAR#DATA
cd *.*|*\
WCMICONS.DLL,24
Files only
0
-1
Но это неудобно, т.к. когда скрыл, то экскейп не возвращает значение на все обратно.
Можно ли как-то сделать переключателем?
И еще может быть есть какой-то обходной путь отключить отображение папок всегда сверху, и если я сортирую по дате, то они отображались как и файлы по дате списком, а не над файлами?
Добавлено: Пн дек 13, 2021 21:55
sa
7995
Здесь приводилась кнопка с использованием утилиты
TCFS2. Для её работы потребуется создать в TC пользовательскую команду
em_cd с командой
cd и параметрами
%A%Z.
Как вариант, в кнопке вместо
tcm(312) можно записать
tem(`em_cd *.*`).
Добавлено: Вт дек 14, 2021 02:22
Monarch-LFV
7995
У меня реализовано через скрипт VBS:
Код: Выделить всё
'======================================================================
' Сделать скрытыми/нескрытыми выделенные объекты (без рекурсии)
' Параметры:
' {файл-список}
' Пример параметров вызова из 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). Выделенные объекты скрывает или делает нескрытыми.
Добавлено: Вт дек 14, 2021 02:55
7995
Monarch-LFV
Спасибо, но моя задача в оп-посте о другом.
Добавлено: Вт дек 14, 2021 03:50
Monarch-LFV
7995
Да, сорри, дейстивтельно, неправильно понял задачу. Ваша кнопка ставит фильтр, а отменить его соответственно можно по комбинации Ctrl+F10 (вместо приведенного вами Esc). Или другой кнопкой с командой cm_SrcAllFiles.
Или можно, например, назначить кнопке Esc эту команду. Тогда Esc будет работать и в основном своем предназначении отмены (у меня работает, протестил), а также будет сбрасывать фильтр. Для этого нужно в wincmd.ini в секции [Shortcuts] прописать:
Добавлено: Вт дек 14, 2021 06:16
Avada
7995
Для запросов кнопок есть специальная тема, куда во избежание захламления подфорума "Общие вопросы" всё это и переносится.
У клавиши Esc свои задачи, а режим "Все файлы", как было сказано, включается по Ctrl+F10. Переназначать команду cm_SrcAllFiles на Esc я бы не советовал.
Смешанной сортировки файлов с папками в TC нет, о чём говорилось сто раз, учитесь пользоваться поиском по форуму. Соблюдайте
правила.
Добавлено: Вт дек 14, 2021 13:46
sa
7995 писал(а):обходной путь отключить отображение папок всегда сверху
Можно отсортировать по дате файлы/папки на стороне (в Excel, к примеру) или вручную и, сохранив их имена (у папок должен быть \ в конце) в текстовый файл, загрузить в панель TC (можно с конкретным пользовательским набором колонок) командой LOADLIST. Только не пытайтесь сортировать колонки в панели заново – папки снова окажутся сверху!
Если такие "Результаты поиска:" устраивают, то дело за скриптом для сортировки по дате и вызова команды LOADLIST.
Добавлено: Вт дек 14, 2021 14:10
Avada
sa
Как справедливо было замечено, результат такой вставки проживёт ровно до первого же изменения сортировки и выводится только в виде виртуальной папки с результатами поиска (со всеми её ограничениями). Я эту "фичу" заметил сразу же с появлением LOADLIST, но расцениваю её просто как забавный побочный эффект применения указанной команды — и не более того. Сильно сомневаюсь, что для нормальной работы в TC такое может кому-то реально пригодиться.