Страница 2 из 3
Добавлено: Чт апр 30, 2009 10:48
DeathStalker
Проблему с раскладками можно решить если название шаблона будет только из цифр, ведь они при любой раскладке работают
Минус только в том, что название из цифр плохо передает смысл

Добавлено: Чт апр 30, 2009 11:12
Dave
DeathStalker писал(а):Проблему с раскладками можно решить если название шаблона будет только из цифр, ведь они при любой раскладке работают
Минус только в том, что название из цифр плохо передает смысл

Хороший вариант, у кого проблемы с раскладками
А главное, можно имя шаблона оставить прежнее, только перед ним поставить уникальный цифровой код , к примеру шаблон
"1008 Не старше 1 часа"
А в скрипте прописать строку
TCS.SendKeystroke "1008"
вместо строки
TCS.SendKeystroke "Не старше 1 часа"
Добавлено: Пт май 01, 2009 12:33
sa
Dave писал(а):На всякий случай - у меня Win XP Rus SP3, Тотal Commander 7.04a
У меня Win XP Professional SP2, Тотal Commander 7.04a. Наверное сказывается различие в ОС. Для себя проблему с раскладками решил добавлением в скрипт сочетания клавиш для переключения на русский язык (когда-то назначил в региональных стандартах на Ctrl+Shift+2) и последующего возврата на английский (Ctrl+Shift+1).
Получилось что-то вроде TCS.SendKeystroke "{TAB}^+2Файлы не старше 1 часа^+1{ENTER}". Минус такого способа - "несанкционированное" переключение языка ввода с русского на английский, но по мне это скорее плюс. Обратный эффект(переключение с английского на русский) будет, если не добавлять в конце Ctrl+Shift+1.
Добавлено: Пн май 04, 2009 10:51
Batya
sa писал(а):Минус такого способа - "несанкционированное" переключение языка ввода с русского на английский
Лучше использовать не "горячие клавиши", а функцию SetLocale:
Код: Выделить всё
currentLocale = SetLocale("ru") 'При желании можно SetLocale("en-us")
TCS.SendKeystroke "Файлы не старше 1 часа"
SetLocale(currentLocale)
Добавлено: Чт май 06, 2010 13:49
sa
В другой
теме нашлось простое решение в виде кнопки, либо пользовательской команды, в которой используется команда
cd с фильтром
Добавлено: Чт май 06, 2010 14:32
Andrey_A
В этой теме тоже есть скрипты обсуждаемой вами теме
http://forum.wincmd.ru/viewtopic.php?p= ... ght=#60456
Я сам пользуюсь расширенным скриптом:
Код: Выделить всё
'Пометить файлы с заданной строкой фильтра
' В параметрах прописать искомую строку
' К примеру *.doc;*.txt
' или" >Архивы"
' вылетает окно (если 0, то помечает файлы в папке, если 1, то сначала раскрывает подпапки, а потом помечает)
Filters = WScript.Arguments(0)
Dim TCS
Set TCS = CreateObject("TCSCRIPT.Helper")
Find_String = InputBox("Введите число 1, если хотите, чтобы выделение произошло и в ПОДПАПКАХ (по умолчанию выделение происходит только в ТЕКУЩЕЙ папке)", "Выделить по фильтру ")
If Len(Find_String) = 0 Then
Find_String = 0
End If
If Find_String <> 0 Then
TCS.SendCommand "cm_DirBranch"
TCS.Pause = 2000
TCS.SendCommand "cm_SpreadSelection"
TCS.SendKeystroke (Filters & "{Enter}")
Else
TCS.SendCommand "cm_SpreadSelection"
TCS.SendKeystroke (Filters & "{Enter}")
End If
Set TCS = Nothing
Иногда хочется пометить файлы в подпапках, он его выполняет
У меня тоже была проблема с несанкционированным переключением на английский. Я стал брать название шаблона в кавычки - проблем стало меньше
>"Файлы не старше 1 часа"
Добавлено: Чт май 06, 2010 14:39
sa
sa писал(а):нашлось простое решение
Я имел ввиду, что это решение обходится
встроенными средствами ТК - без всяких скриптов, переключений языков и т.д. и по месту занимает всего на 4 символа больше, чем само название фильтра.
Добавлено: Чт май 06, 2010 16:02
Вахмурка
Добавлено: Чт май 06, 2010 16:29
sa
Кнопка с командой: cd >Файлы не старше 1 часа
Работает на любых раскладках.
Добавлено: Пт май 07, 2010 22:21
Andrey_A
cd >Файлы не старше 1 часа
А как будет обратная строка через этот же шаблон, т.е все файлы кроме этих - все файлы кроме старше 1 часа
к примеру, если через расширения, то
показать все файлы с этими расширениями
паказать все, кроме этих
А через шаблон обратную сторону медали можно посмотреть, сколько ни старался, у меня не получилось
Добавлено: Вт май 11, 2010 13:52
CaptainFlint
Andrey_A писал(а):А как будет обратная строка через этот же шаблон, т.е все файлы кроме этих - все файлы кроме старше 1 часа
Через этот же — никак, надо новый шаблон.
Добавлено: Вт май 11, 2010 15:09
sa
CaptainFlint писал(а):никак, надо новый шаблон.
Ещё бы придумать, из чего его смастерить...
Добавлено: Вт май 11, 2010 15:54
Вахмурка
надо новый шаблон
Да, кстати, что-то не придумывается. Отрицательные числа вводятся, но не работают. Очевидное решение: выделить то, что моложе одного часа и обратить выделение. Но можно ли действительно сваять шаблон?
Добавлено: Вт май 11, 2010 16:18
Rodny
Может с плагином
Age?
Нету времени сейчас экспериментировать
Добавлено: Вт май 11, 2010 16:20
Batya
Также можно использовать ScriptContentPlugin с vbs-скриптом:
Код: Выделить всё
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(FileName) Then
content = Abs(DateDiff("h", Now, FSO.GetFile(FileName).DateLastModified))
Else
content = Abs(DateDiff("h", Now, FSO.GetFolder(FileName).DateLastModified))
End If
Set FSO = Nothing