Минус только в том, что название из цифр плохо передает смысл
Фильтр отбора с пользовательским шаблоном
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
- DeathStalker
- Сообщения: 331
- Зарегистрирован: Пт сен 01, 2006 10:53
- Откуда: Санкт-Петербург
Проблему с раскладками можно решить если название шаблона будет только из цифр, ведь они при любой раскладке работают
Минус только в том, что название из цифр плохо передает смысл
Минус только в том, что название из цифр плохо передает смысл
Гугль - это Матрица, чем меньше его спрашивать, тем слабее будут машины во время Великой Битвы
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
TC10.00b6 x86 Windows 10 x64 (Windows 7 x64)
Хороший вариант, у кого проблемы с раскладкамиDeathStalker писал(а):Проблему с раскладками можно решить если название шаблона будет только из цифр, ведь они при любой раскладке работают![]()
Минус только в том, что название из цифр плохо передает смысл
А главное, можно имя шаблона оставить прежнее, только перед ним поставить уникальный цифровой код , к примеру шаблон
"1008 Не старше 1 часа"
А в скрипте прописать строку TCS.SendKeystroke "1008"
вместо строки TCS.SendKeystroke "Не старше 1 часа"
У меня Win XP Professional SP2, Тотal Commander 7.04a. Наверное сказывается различие в ОС. Для себя проблему с раскладками решил добавлением в скрипт сочетания клавиш для переключения на русский язык (когда-то назначил в региональных стандартах на Ctrl+Shift+2) и последующего возврата на английский (Ctrl+Shift+1).Dave писал(а):На всякий случай - у меня Win XP Rus SP3, Тотal Commander 7.04a
Получилось что-то вроде TCS.SendKeystroke "{TAB}^+2Файлы не старше 1 часа^+1{ENTER}". Минус такого способа - "несанкционированное" переключение языка ввода с русского на английский, но по мне это скорее плюс. Обратный эффект(переключение с английского на русский) будет, если не добавлять в конце Ctrl+Shift+1.
Лучше использовать не "горячие клавиши", а функцию SetLocale:sa писал(а):Минус такого способа - "несанкционированное" переключение языка ввода с русского на английский
Код: Выделить всё
currentLocale = SetLocale("ru") 'При желании можно SetLocale("en-us")
TCS.SendKeystroke "Файлы не старше 1 часа"
SetLocale(currentLocale)Нет, я не сплю. Я просто медленно моргаю.
В другой теме нашлось простое решение в виде кнопки, либо пользовательской команды, в которой используется команда cd с фильтром
Код: Выделить всё
cd >Файлы не старше 1 часаВ этой теме тоже есть скрипты обсуждаемой вами теме
http://forum.wincmd.ru/viewtopic.php?p= ... ght=#60456
Я сам пользуюсь расширенным скриптом:
Иногда хочется пометить файлы в подпапках, он его выполняет
У меня тоже была проблема с несанкционированным переключением на английский. Я стал брать название шаблона в кавычки - проблем стало меньше
>"Файлы не старше 1 часа"
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 часа"
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
http://powerpro.wincmd.ru/Scripts/SelectFilter.htm
Работает на любых раскладках.
Работает на любых раскладках.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
А как будет обратная строка через этот же шаблон, т.е все файлы кроме этих - все файлы кроме старше 1 часаcd >Файлы не старше 1 часа
к примеру, если через расширения, то
Код: Выделить всё
cd *.doc;*.txtКод: Выделить всё
cd *.* | *.doc;*.txtА через шаблон обратную сторону медали можно посмотреть, сколько ни старался, у меня не получилось
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Да, кстати, что-то не придумывается. Отрицательные числа вводятся, но не работают. Очевидное решение: выделить то, что моложе одного часа и обратить выделение. Но можно ли действительно сваять шаблон?надо новый шаблон
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Также можно использовать 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Нет, я не сплю. Я просто медленно моргаю.