Редактирование имен файлов мышью
Модераторы: Моторокер, Avada, CaptainFlint, Nik, d-view
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
Редактирование имен файлов мышью
Цель - организовать в Тотале редактирование имен файлов с помощью одной лишь мыши.
По аналогии с проводником - двойным щелчком мыши выделяем название файла, вставляем в него например новое имя из буфера обмена (или удаляем часть названия, выделив его и нажав Удалить), затем щёлкаем кнопкой мыши по свободному месту сбоку от файла - и файл переименовывается. Задействовать клавиатуру при этом не нужно.
Возможно ли такое организовать ? (при помощи скриптов или при помощи AutoIt по аналогии с AutoFx).
Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно, но хотелось бы большей универсальности.
(попрошу без дебатов, что мышь зло, и Тоталом надо управлять исключительно с клавиатуры)
По аналогии с проводником - двойным щелчком мыши выделяем название файла, вставляем в него например новое имя из буфера обмена (или удаляем часть названия, выделив его и нажав Удалить), затем щёлкаем кнопкой мыши по свободному месту сбоку от файла - и файл переименовывается. Задействовать клавиатуру при этом не нужно.
Возможно ли такое организовать ? (при помощи скриптов или при помощи AutoIt по аналогии с AutoFx).
Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно, но хотелось бы большей универсальности.
(попрошу без дебатов, что мышь зло, и Тоталом надо управлять исключительно с клавиатуры)
Несложно ли — это ещё вопрос. Рекомендую попробовать с командой cm_Return. Файл/каталог/архив под курсором будет обрабатываться без учёта идущего редактирования. То есть в результате получим открытие/запуск объекта с прежним именем.LonerD писал(а):Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Совсем для другого и по другому, но под название темы, по-моему, скрипт подходит.
В сторону TWinKey:
Хотя, тогда условия были не те.VadiMGP писал(а):Эмуляция нажатия клавиш - разновидность бомбы* с таймером. В лучшем случае* чревато только тем, что эмулируемое действие не выполнится, в худшем - выполнится какое-то другое действие.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Зато будет работать у тех, кому не нравится ситуация, когда при повторном щелчке на имени файла открывается окошко переименования и кто соответственно, добавил строку InplaceRename=0 в раздел [Configuration] файла wincmd.ini, чтобы она не возникала.LonerD писал(а):тоже выход, хотя неуниверсальный
Add
Впрочем, способ вызова окошка переименования (повторным щелчком, командами cm_RenameOnly или cm_RenameSingleFile), и для запрашиваемого скрипта (программы) существенного значения иметь не должен.
Добавлю ещё вариант предложенного ранее скрипта, не требующий регистрации Helper-а.
Код: Выделить всё
' Описание: Переименовать файл/каталог под курсором в диалоге
' Параметры: %P%N
'Требования: 1.Для применимости диалога в корневом каталоге диска ключ
' ShowParentDirInRoot (файл wincmd.ini секция [Configuration])
' должен иметь значение 1.
' 2.Необходима утилита TCFS2 для вызова внутренних команд ТК.
Option Explicit
Dim WSH, TCFS2, P_N
Set WSH = CreateObject("WScript.Shell")
TCFS2 = "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"
WSH.Run TCFS2 & " /ef tcm(524)", 1, True
P_N = WScript.Arguments(0)
If InStrRev(P_N,"") = Len(P_N) Then
MsgBox "Курсор не должен располагаться на строке ""..""", _
vbOKOnly + vbCritical, "Переименовать файл/каталог под курсором в диалоге"
Set WSH = Nothing
WScript.Quit
End If
WSH.SendKeys "{INSERT}{HOME}"
Wscript.Sleep(100)
WSH.SendKeys "{INSERT}"
Wscript.Sleep(100)
WSH.Run TCFS2 & " /ef tcm(2053) tcm(1002) tcm(524)", 1, True
Set WSH = Nothing
Wscript.QuitУточнение моего предыдущего поста. Заставить работать команду cm_Return для сохранения результатов переименования можно, но только её клавиатурным вызовом. Если повесить команду на кнопку, будет открытие/запуск объекта с прежним именем. (На ру-борде Rodny правильно сказал, что причина в уводе фокуса с поля ввода на кнопку.)
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
Думаю, вряд ли он пойдет на добавление флага, так кардинально меняющего поведение. Это может чересчур сильно контузить, если сделаешь неосторожное действие.
Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования. Тут хотя бы нежелательных переименований не будет происходить оттого, что флаг оказался не в том положении.
Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования. Тут хотя бы нежелательных переименований не будет происходить оттого, что флаг оказался не в том положении.
Но при удалении в тотале всегда задается вопрос. И это поведение не менялось добрый десяток лет.sa писал(а):Например, удаление в корзину или окончательно, в зависимости от настроек, может контузить тоже ощутимо.MVV писал(а):Это может чересчур сильно контузить, если сделаешь неосторожное действие.
А в данном случае человека может конкретно смутить то, что он, щелкнув мышью, чтобы отменить переименование, наоборот выполнит его. К таким вещам, насколько я успел заметить, Гислер очень серьезно относится.
Теоретически возможно.Avada писал(а):Как насчёт зарепортить пусть даже только в своём варианте?
- CaptainFlint
- Сообщения: 6243
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
- Моторокер
- Сообщения: 1517
- Зарегистрирован: Пт май 06, 2005 08:22
- Откуда: г. Пермь (читается Перьмь)
- Контактная информация:
Есть ещё третий вариант - оставаться в режиме редактирования. А то при случайном щелчке или потере фокуса (всплывающее окно) можно случайно переименовать файл.sa писал(а):Можно попросить Гислера добавить ключ в wincmd.ini, который будет менять реакцию на нажатие мышки вне поля переименования: либо это отказ от изменений (ESC), как сейчас, либо сохранение изменений (ENTER), как в проводнике.
Можно добавить маленькую кнопку рядом или внутри поля редактирования.
Только не это. Если и показывать кнопку сохранения/отмены, то сразу. Если ещё их и подсветить дефолтно, тогда наглядно будет видна последующая реакция Тотала на щелчок вне поля, тогда будет меньше путаницы.Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования.
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
ПармаСруб - строительство домов и бань в Перми