Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Обмен кнопками 
Author Message
sa



PostPosted: Tue Mar 14, 2017 18:11    Post subject: Reply with quote

По мотивам этого запроса.
Кнопка (версия TC 9.xx) для удаления файлов/каталогов по заданной маске, регулярному выражению с символом < или шаблону поиска с символом >. Требуется утилита TCFS2 (функции дополнительного модуля TCFS2Tools не используются):
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "set_ini(`%COMMANDER_PATH%\usercmd.ini`, em_temp, cmd, `SELECTFILESB `
`>Файлы старше 1 недели`                                                       ) tcm(524) tem(em_temp) if(msg($432,1004+msg($432,1000)), tcm(908))"
WCMICONS.DLL,64
Удалить файлы/каталоги |по маске (например: *.bak *.old) |регулярному выражению (<[ab].*) |или шаблону поиска (>Файлы старше 1 недели)


-1
Для задания альтернативного варианта, удалить в Корзину или в обход Корзины (зависящего от настроек TC), при вызове кнопки нажать клавишу Shift.
В кнопке для команды SELECTFILES добавлен модификатор B (выделяются и файлы и папки, соответствующие маске или шаблону). Можно указать D (только папки) или убрать модификатор (только файлы).
Если сильно захочется подтвердить удаление непосредственно в кнопке, то можно заменить tcm(908))" на
tcm(908,1) + eval(send_wait(`{ENTER}`, findwnd(`#32770`))))".
В дополнение, команду удаления файлов tcm(908) при желании можно поменять на команду копирования tcm(905) или перемещения tcm(906).

Чтобы при вызове кнопки файл usercmd.ini каждый раз не перезаписывался (из-за создания утилитой временной пользовательской команды em_temp), можно самостоятельно создать пользовательские команды выделения, например:
em_selB, состоящую из команды SELECTFILESB,
em_selD, состоящую из команды SELECTFILESD и
em_sel, состоящую из команды SELECTFILES,
одну из которых, в зависимости от решаемой задачи, и указывать в кнопке:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "tcm(524) tem(`em_selB `
`>Файлы старше 1 недели`                                                       ) if(msg($432,1004+msg($432,1000)), tcm(908))"
WCMICONS.DLL,64
Удалить файлы/каталоги |по маске (например: *.bak *.old) |регулярному выражению (<[ab].*) |или шаблону поиска (>Файлы старше 1 недели)


-1
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group