Обмен кнопками

Если вы хотите поделиться с другими пользователями секретами Total Commander, знаете интересные опции, приемы, настройки, то вам сюда.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Aleks431
Сообщения: 74
Зарегистрирован: Пн май 23, 2011 23:49

Сообщение Aleks431 »

Кнопка для конвертирования текстового файла (txt, ini, mnu, lng, srt и др.) в Юникод UTF-8.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\AkelPad.exe
%P%O.%E /SaveFile("%P%O.%E", 65001, 1) /quit
%COMMANDER_PATH%\Plugins\AkelPad.exe
Конвертировать в UTF-8  (BOM)
%COMMANDER_PATH%\Plugins\
0
-1
BOM: 1 - вкл., -1 - откл., 0 - умолчан.
можно и в другую кодировку: ANSI - 1251, UTF-16LE - 1200 и т.п.
Спасибо всем кто помог в доводке кнопки.
Последний раз редактировалось Aleks431 Пн апр 14, 2014 12:09, всего редактировалось 2 раза.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Материал по утилите MBTYTCB.exe вынесен в отдельную тему в "Автоматизации".
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Запрос garmonist, не соответствующий текущей теме, перенесён в тему по скриптам.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Спрошено - отвечаем:

Код: Выделить всё

TOTALCMD#BAR#DATA
nircmd execmd nircmd clipboard writefile
"%P%%date:~6%%.%%date:~3,2%%.%%date:~0,2%%_%%time:~0,2%%.%%time:~3,2%%.%%time:~6,2%%.txt" && start notepad "%P%%date:~6%%.%%date:~3,2%%.%%date:~0,2%%_%%time:~0,2%%.%%time:~3,2%%.%%time:~6,2%%.txt"
wcmicons.dll,45
Создать файл %ДАТА_ВРЕМЯ%.txt с текстом из Б/О и открыть его в Notepad
%COMMANDER_PATH%\Utils\nircmd\
То же самое без открытия - меняем всю часть после && на

Код: Выделить всё

nircmd sendkeypress ctrl+r
или с переходом к файлу на:

Код: Выделить всё

"%%commander_exe%%" /S /O /L="%P%%date:~6%%.%%date:~3,2%%.%%date:~0,2%%_%%time:~0,2%%.%%time:~3,2%%.%%time:~6,2%%.txt\:"
С UTF-8:

Код: Выделить всё

TOTALCMD#BAR#DATA
cmd /c ""%COMMANDER_PATH%\Utils\Akelpad\AkelPad.exe" /show(0) /C+
"%P%%date:~6%%.%%date:~3,2%%.%%date:~0,2%%_%%time:~0,2%%.%%time:~3,2%%.%%time:~6,2%%.txt" /Command(4155) /Command(4136) /Command(4325) /quit""
wcmicons.dll,45
Создать файл %ДАТА_ВРЕМЯ%.txt в активной панели с текстом из буфера

1
С открытием в AkelPad - убрать /show(0) и /Command(4325) /quit.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Dimsok
Сообщения: 664
Зарегистрирован: Вс авг 17, 2014 00:45

Сообщение Dimsok »

Кнопка с wget и askparam для скачивания определённых типов файлов со страницы:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\AskParam.exe
/c"Wget"  /t"http://" /t"ftp://" /p"Download from link" /t"pdf" /t"jpg" /t"exe" /t"zip" /t"rar" /u"zip,rar,exe" /c(1)"Download" /c(2)"No, thnanks" /p"Choose extension" /s"2" "%%COMMANDER_PATH%%\Plugins\exe\wget.exe"  -c -t 10 --no-check-certificate -r -l1 -nd -N -np -A.%%2 -erobots=off %%1
%COMMANDER_PATH%\Totalcmd.exe,26
Download with Wget to current panel with specified ext


-1
Примерно то же самое но для youtube. Мож кому пригодится

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Plugins\exe\AskParam.exe
/c"Youtube downloader"  /t"http://www.youtube.com/watch?v=" /p"Download from link" /t"flv" /t"mp4" /t"webm" /t"All: mp4/flv/webm" /t"best" /u"normal: 18" /t"worst" /c(1)"Download" /c(2)"No, thnanks" /p(h)"Choose extension and quality" /s"2" "%"%%COMMANDER_PATH%%\Plugins\exe\youtube-dl.exe" --sub-lang el,en,ru,pt,es,it,fr,de,ja,zh-Hant -f %%2 %%1
%COMMANDER_PATH%\Totalcmd.exe,26
Download from Youtube with specified ext and quality


-1

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Aleks431 писал(а):как ... из wincmd.ini.bak сделать снова wincmd.ini.
>>>

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd for /f "usebackq delims=" %# in
(`type %WL`) do ren "%%#" "%%~~n#"
wcmicons.dll,32
Убрать в именах выбранных файлов последнее расширение
Aleks431 писал(а):Возможна ли кнопка для удаления 2-3 (любое кол-во) символов от конца названия файла?
>>>
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd for /f "usebackq delims=" %# in
(`type %WL`) do set "V=%%~~n#" & call ren "%%#" "%%V:~~0,-
2%%%%~~x#"
wcmicons.dll,32
Убрать в базовых именах выбранных файлов последние
2 символа
Aleks431 писал(а):А как переделать параметр чтоб символы удалялись от начала имени файла?
>>>
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd for /f "usebackq delims=" %# in
(`type %WL`) do set "V=%%~~nx#" & call ren "%%#" "%%V:~~
2%%"
wcmicons.dll,32
Убрать в именах выбранных файлов первые
2 символа
P.S.: Во всех случаях меняем ren на move, если нужно затирать уже имеющиеся в родителе файлы с 'новым' именем.
В последнем параметре после открывающей кавычки (в начале имени) или перед закрывающей (в конце имени) можно делать любые текстовые вставки по усмотрению.
К примеру, дописав в первом коде в конец перед кавычкой точку и какое-то расширение, получится инструмент автоматической смены расширения.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Ответ на запрос:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd "for /f "usebackq delims=" %# in 
(`type %WL`) do rd /S /Q "%%#" || del /Q /F /AS /AH /AA /AI "%%#""
wcmicons.dll,76
Удалить выбранные папки и файлы

Код: Выделить всё

TOTALCMD#BAR#DATA
%ComSpec% /c for /f "usebackq delims=" %# in
(`type %WL`) do "%%COMMANDER_PATH%%\Utils\xdel.exe" "%%#"
wcmicons.dll,76
Удалить выбранное с помощью XDel

1
Скачать XDel: 32-bit / 64-bit
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Aleks431 писал(а):А можно как-нибудь добавить в кнопку режим создания дубля (типа copy), чтобы wincmd.ini.bak не исчезал, заменяя существующий wincmd.ini, а оставался, еще и с тем же атрибутом какой был (например только чтение)?
>>

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd for /f "usebackq delims=" %# in
(`type %WL`) do echo f|xcopy /hrkxy "%%#" "%%~~n#"
wcmicons.dll,62
Создать дубликаты выбранных файлов без последнего расширения в именах
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

По мотивам этого запроса.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(4003) send(`~(cd) ^V {Enter}`)"
WCMICONS.DLL,2
Перейти в каталог или к файлу из буфера


-1 

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_TempParam, cmd, `cd`) set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_TempParam, param, `?`)
tem(em_TempParam) eval(send_wait(`^V{ENTER}`, findwnd(`TSTDTREEDLG`)))"
WCMICONS.DLL,2
Выполнить команду cd с параметром из буфера (каталог, файл, маска или >шаблон для фильтрации)


-1
Третья кнопка с использованием параметров totalcmd.exe. Для этой кнопки потребуются двойные кавычки для имен, содержащих пробелы. Кавычки должны быть или в самой строке буфера, или в кнопке (вокруг ^V). В последнем случае нужно отслеживать, чтобы в строке буфера их не было.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_TempParam, cmd, `"%COMMANDER_EXE%" /A /O /S /L=`) set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_TempParam, param, `?`)
tem(em_TempParam) eval(send_wait(`^V{ENTER}`, findwnd(`TSTDTREEDLG`)))"
WCMICONS.DLL,2
Перейти в каталог или на файл из буфера


-1
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Думаю, не лишним будет опубликовать изначально предложенный и более оптимальный вариант без лишних задействований панелей:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe exec "" "%COMMANDER_EXE%" /O /A /S /L="~$clipboard$"

wcmicons.dll,59
Перейти в каталог или к файлу из буфера обмена
+ вариант для проверки работы с объектом в Проводнике:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe execmd if not exist
%N\ (explorer.exe /select,%V) else explorer.exe /e,/root,%V
explorer.exe,13
Открыть каталог или выделить файл под курсором в Проводнике
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Тут как-то спрашивали:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\nircmd\nircmd.exe
paramsfile %L "" "" clipboard writefile ~$fparam.1$
wcmicons.dll,63
Заменить текст в выбранных файлах на буферный
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Fetser
Сообщения: 3
Зарегистрирован: Пн май 18, 2009 10:44

Сообщение Fetser »

EXE файлы созданные программой Bat_To_Exe_Converter можно декомпилировать такой кнопкой:

Код: Выделить всё

TOTALCMD#BAR#DATA
cmd /c start
"" "%O.%E" -b2edecompile
%COMMANDER_PATH%\Totalcmd.exe,12
Exe2Bat


-1
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Кнопка для поиска всех подкаталогов с использованием утилиты TCFS2:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef  "tcm(501,1) delay(200) eval(send_wait(`{BS}^{TAB}~(%А%t%К%D) ^+{TAB}{Enter}`, findwnd(`TFindFile`)))
delay(500) send(`~(%%л%%l)`, findwnd(`TFindFile`))"
WCMICONS.DLL,47
Поиск всех подкаталогов


-1
Запускает поиск подкаталогов и спустя 500 миллисекунд делает попытку вывести результаты на панель.
При наличии выделения поиск стандартным образом выполняется только в выделенных каталогах.
P.S.
Альтернатива этому запросу.

Add. Подправил для работы с x64
Последний раз редактировалось sa Пт окт 02, 2015 20:52, всего редактировалось 2 раза.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

sa
Вот это правильное решение: стандартный поиск не отменён, а максимально автоматизирован.
Даже самая богатая фантазия
Не представит себе наши безобразия.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

Кнопка для поиска подкаталогов с использованием утилиты TCFS2 и выводом на панель по Alt+0:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(501,1) delay(200) eval(send_wait(`{BS}^{TAB}~(%А%t%К%D) ^+{TAB}{ENTER}`, findwnd(`TFindFile`)))
loop(if(findwnd(`TFindFile`)==0, 0, 0*sendmsg(findwnd(`TFindFile`), $104, $30, $1, 1)*delay(500)+1))"
WCMICONS.DLL,47
Поиск всех подкаталогов с выводом на панель по Alt+0


-1
Требует переназначения на Alt+0 вывода файлов на панель в окне поиска для независимости от раскладки клавиатуры. Это делается путём правки строки 5664 LNG-файла: вместо "Фай&лы" надо ввести "Файлы &0".
Ответить