Дополнение №16


Параметр test<>.



Описание параметра.


Конструкция параметра:

 a) Одно условие:

test<NumberSymbol!!Condition>

Разделитель !! обязателен, даже если в каких-то вариантах нет условий Condition

 б) Несколько условий:

test<NumberSymbol1!!Condition1//NumberSymbol2!!Condition2// ... //NumberSymbolN!!ConditionN>

Каждая пара NumberSymbol!!Condition разделяются символами //

 в) Дополнительные условия NOT, AND, OR (добавлены в версии 18.8):
  Каждая пара NumberSymbol!!Condition возвращает 0 или 1
    0 - там где написано "не включать...", "не присутствуют...", "не совпадает..."
    1 - там где написано "включать...", "присутствуют...", "совпадает..."
  По умолчанию проверка нескольких пар происходит по принципу AND
  Для установки дополнительных условий до и/или между пар через разделитель // прописывается нужное сравнение OR, NOT или AND

test<NOT//NumberSymbol!!Condition>
test<NumberSymbol1!!Condition1//OR//NumberSymbol2!!Condition2>

  Для более сложных условий можно воспользоваться скобками ( и ).

 г) Угловые скобки внутри параметра необходимо заменять соответствующими двойными фигурными < на {{ и > на }}.

В версии 36.6 появилась возможность использовать ряд функций и макросов Autoit для преобразования условий:
Chr() и ChrW() заменяются соответствующими символами.
ClipGet() заменяется содержимым буфера обмена.
Number() позволяет производить математические действия.
StringLeft() позволяет получать указанное число символов строки слева.
StringRight() позволяет получать указанное число символов строки справа.
StringMid() позволяет получать часть символов строки.
StringLen() позволяет получать количество символов строки.
@AutoItPID, @YEAR, @YDAY, @WDAY, @SEC, @MSEC, @MON, @MIN, @MDAY, @HOUR.


1. p d n i e q Сравнение по элементам пути с регулярными выражениями
2. a Сравнение по атрибутам объекта
3. r Сравнение по размерам объекта
4. z Сравнение по чередованию списка объектов
5. l Сравнение по длине элементов пути объекта
6. t Сравнение по содержимому текстовых файлов
7. c Сравнение по кодировке файла
8. b Сравнение текстовый или бинарный файл
9. m Сравнение по размеру и информации Exif тегов изображения и страниц файлов PDF
10. h Сравнение файлов по контрольным суммам
11. f Сравнение по содержимому каталога
12. g Сравнение информации медиафайлов с помощью MediaInfo.dll
13. o Сравнение папки по информации в содержимом файле Desktop.ini
14. x Сравнение по датам объекта
15. j Сравнение по содержимому бинарных данных файлов
16. u Сравнение свободный или заблокированный файл
17. s Проверка существования URL ссылки
18. v Проверка существования пути символьных ссылок
19. k Проверка существования пути объекта
20. w Проверка информации с помощью параметра info


Ниже представлены варианты условий:

1.

  Сравнение по элементам пути с регулярными выражениями
Number :
  0 - не включать объект, прошедший условие.
  1 - включать объект, прошедший условие.

Symbol :
  p - проверяется полный путь объекта.
  d - проверяется путь родительского каталога объекта.
  n - проверяется базовое имя объекта.
  i  - проверяется базовое имя + расширение объекта.
  e - проверяется расширение объекта.
  q - проверяется имя папки родительского каталога объекта.

Condition :
  Строка регулярных выражений. см. Дополнение №2
  Если строка начинается с ??Key, то регулярное выражение берётся TCIMG.ini из секции [FormatUser] из ключа Key.
  Если строка начинается с &&RegExp, то регулярное выражение передаётся как есть (без изменений).
  По умолчанию регулярное выражение корректируется (для старых масок выражений).

Примечание:
  Если в регулярном выражении присутствуют заглавные буквы, то регистр будет учитываться, если нет заглавных, то регистр не учитывается.

Примеры:

copys=%WL||"%t"//0||test<1n!![A-Z]> ;; копировать выделенные элементы в другую панель - только те, которые имеют в базовом имени заглавные латинские буквы
copys=%WL||"%t"//0||test<1e!!txt> ;; копировать в другую панель только те, которые имеют в расширении txt (не заменяя имеющиеся элементы)
copys=%WL||"%t"//0||test<1d!!.*f.*f.*f.*> ;; копировать в другую панель только те, которые имеют в родительском пути три буквы f (не заменяя имеющиеся элементы)


2.

  Сравнение по атрибутам объекта
Number :
  0 - не включать объект, который имеет совпадение одного из элементов заданной строки атрибутов.
  1 - включать объект, который имеет совпадение одного из элементов заданной строки атрибутов.
  2 - включать объект, который имеет все совпадения элементов заданной строки атрибутов.
  3 - не включать объект, который имеет все совпадения элементов заданной строки атрибутов.

Symbol :
  a - проверяются атрибуты объекта.

Condition :
  строка из букв задаваемых атрибутов - RASHNDOCT:
  "R" = READONLY (только для чтения)
  "A" = ARCHIVE (архивный)
  "S" = SYSTEM (системный)
  "H" = HIDDEN (скрытый)
  "N" = NORMAL (нормальный)
  "D" = DIRECTORY (каталог)
  "O" = OFFLINE (оффлайн)
  "C" = COMPRESSED (сжатый, имеется в виду сжатие NTFS, а не ZIP)
  "T" = TEMPORARY (временный)

Примечание:
  Нет.

Примеры:

copys=%WL||"%t"//0||test<0a!!D> ;; копировать в другую панель только файлы
copys=%WL||"%t"//0||test<1a!!R> ;; копировать в другую панель элементы с атрибутом "только для чтения"
renms=%WL||test<0a!!D>||**0!![input=BOX1] ;; переименовать - Заменить расширения выделенных файлов (диалог ввода). Информация диалога берётся из шаблона InputBox1
renms=%WL||test<0a!!D>||**0!![input=Ввод~~расширения|Введите~~необходимое~~расширение~~для~~замены~~в~~выделенных~~файлах|txt] ;; заменить расширения выделенных файлов (диалог ввода)
renms=%WL||test<0r!!1M//0a!!D>||^^[1]~~ ;; переименование базового имени выделенных объектов - только файлов, которые меньше 1МБ + добавит в начало [1]
renms=%WL||test<1a!!D>||$$~~-~~cntr<1|1|3> ;; переименование базового имени выделенных объектов - только каталогов + добавление в конец счётчик
renms=%WL||test<1a!!R>||##::||&&.+\\(.+)\\.+\\?!!$1||$$~~-~~cntr<1|1|3|1> ;; переименование базового имени выделенных объектов - только тех, которые имеют атрибут "только чтение", именем родительского каталога с добавлением счётчика (для каждой папки свой счётчик)


3.

  Сравнение по размерам объекта
Number :
  0 - включить объект, который меньше заданного размера.
  1 - включить объект, который больше заданного размера.
  2 - включить объект, который равен заданному размеру.
  3 - включить объект, который входит в диапазон заданных размеров.
  4 - включить объект, который не равен заданному размеру.

Symbol :
  r - проверяется размер объекта.

Condition :
  Размер. Состоит из цифры и буквы - формата размера:
    B - байты
    K - килобайты
    M - мегабайты
    G - гигабайты

Примечание:
  При Number=3 (диапазон) через дефис прописываются два размера.
  1-й размер - начало диапазона (включительно) 2-й размер - окончание (включительно).

  Для каталога по умолчанию размер сравнивается с полным размером (с рекурсией).
  Для сравнения размера в корне (без рекурсии) после "формата размера" прописывается разделитель !! (Пример: 0r!!1M!!)

Примеры:

copys=%WL||"%t"//0||test<0r!!1M//0a!!D> ;; из выделенных объектов копировать в другую панель файлы меньше 1Mb
copys=%WL||"%t"//0||test<0r!!1M//1a!!D> ;; из выделенных объектов копировать в другую панель папки меньше 1Mb

copys=%WL||"%t"//0||test<1r!!1M//0a!!D> ;; из выделенных объектов копировать в другую панель файлы больше 1Mb
copys=%WL||"%t"//0||test<1r!!1M//1a!!D> ;; из выделенных объектов копировать в другую панель папки больше 1Mb

copys=%WL||"%t"//0||test<2r!!1M//0a!!D> ;; из выделенных объектов копировать в другую панель файлы равные 1Mb
copys=%WL||"%t"//0||test<2r!!1M//1a!!D> ;; из выделенных объектов копировать в другую панель папки равные 1Mb

copys=FOLDM<%WL//2>||"%t":://1//(.*\\)(\w:\\)(.*\\).+\\?//$1$3||test<2r!!0K//1a!!D>||struct<> ;; создать в другой панели пустую структуру без диска пустых папок подкаталогов выделенных папок.
copys=FOLDM<%WL>||"%t":://1//(.*\\)(\w:\\)(.*\\).+\\?//$1$3||test<0r!!1M>||struct<> ;; создать в другой панели пустую структуру без диска файлов, которые меньше 1МБ выделенных объектов

marks=0||test<3r!!1M-2M> ;; выделить по диапазону размера от 1МБ до 2МБ

copys=%WL||"%t"//0||test<0a!!D//4r!!128K> ;; из выделенных объектов копировать в другую панель файлы, размер которых не равен 128Kb

copys=%WL||"%t"//0||test<1a!!D//2r!!128K!!> ;; из выделенных объектов копировать в другую панель папки, размер которых без рекурсии равен 128Kb
copys=%WL||"%t"//0||test<1a!!D//2r!!128K> ;; из выделенных объектов копировать в другую панель папки, размер которых равен 128Kb

copys=%WL||"%t"//0||test<1a!!D//4r!!128K!!> ;; из выделенных объектов копировать в другую панель папки, размер которых без рекурсии не равен 128Kb
copys=%WL||"%t"//0||test<1a!!D//4r!!128K> ;; из выделенных объектов копировать в другую панель папки, размер которых не равен 128Kb


4.

  Сравнение по чередованию списка объектов
Number :
  0 - не включать объект, порядковый номер которого имеет совпадение с условиями заданной строки чередования.
  1 - включить объект, порядковый номер которого имеет совпадение с условиями заданной строки чередования.

Symbol :
  z - проверяется порядковый номер объекта.

Condition :
  Condition=Begin!!Step!!InARow, где:
    Begin - с какого элемента начинать отсчёт.
    Step - шаг.
    InARow - количество подряд элементов.

Примечание:
  Нет

Примеры:

renms=%WL||test<1z!!1!!2!!1>||$$_ ;; переименовать базовое имя выделенных элементов - вставить в конец _ чередующим элементам


5.

  Сравнение по длине элементов пути объекта
Number :
  0 - включить объект, который меньше заданной длины.
  1 - включить объект, который больше заданной длины.
  2 - включить объект, который равен заданной длине.
  3 - включить объект, который входит в диапазон заданных длин.
  4 - включить объект, который не равен заданной длине.

Symbol :
  l - проверяется длина элементов пути объекта.

Condition :
  Condition=Comparison!!Len, где:
    Comparison - часть пути объекта:
      p - проверяется полный путь объекта.
      d - проверяется путь родительского каталога объекта.
      n - проверяется базовое имя объекта.
      i  - проверяется базовое имя + расширение объекта.
      e - проверяется расширение объекта.
      q - проверяется имя папки родительского каталога объекта.
    Len - Длина :
      Сравниваемое число или диапазон чисел.
Примечание:
  При Number=3 (диапазон) через дефис прописываются два размера.
  1-й размер - начало диапазона (включительно) 2-й размер - окончание.

Примеры:

copys=%WL||"%t"//0||test<1l!!n!!5> ;; копировать выделенные элементы в другую панель - только те, которые имеют в базовом имени больше 5 символов
marks=0||test<0l!!n!!5> ;; выделить все файлы и папки, в базовом имени которых меньше 5 символов
marks=0||test<1l!!n!!5> ;; выделить все файлы и папки, в базовом имени которых больше 5 символов
marks=0||test<1l!!n!!5>||after<1> ;; оставить с выделением в панели все файлы и папки, в базовом имени которых больше 5 символов
marks=0||test<1l!!n!!5>||after<2> ;; оставить без выделения в панели все файлы и папки, в базовом имени которых больше 5 символов
marks=0||test<0l!!n!!5>||after<3> ;; оставить с выделением в панели все файлы и папки, в базовом имени которых меньше 5 символов
marks=0||test<0l!!n!!5>||after<4> ;; оставить без выделения в панели все файлы и папки, в базовом имени которых меньше 5 символов
marks=0||test<2l!!n!![length=%P%N!!4]> ;; выделить все элементы, длина базового имени которых соответствует длине имени элемента под курсором
marks=0||test<2l!!n!!5> ;; выделить все файлы и папки, в базовом имени которых 5 символов
marks=0||test<3l!!n!!5-8> ;; выделить по диапазону символов с 5-го по 8 включительно


6.

  Сравнение по содержимому текстовых файлов
Number :
  0 - включить файл, в содержимое которого не входит заданная строка.
  1 - включить файл, в содержимое которого входит заданная строка.
  2 - включить файл, в содержимое которого не входит заданная строка, учитывая регистр.
  3 - включить файл, в содержимое которого входит заданная строка, учитывая регистр.

  4 - включить файл, в содержимое которого не входят отдельные слова заданной строки.
  5 - включить файл, в содержимое которого входят отдельные слова заданной строки.
  6 - включить файл, в содержимое которого не входят отдельные слова заданной строки, учитывая регистр.
  7 - включить файл, в содержимое которого входят отдельные слова заданной строки, учитывая регистр.

  8 - включить файл, в содержимое которого не входит заданная строка регулярных выражений.
  9 - включить файл, в содержимое которого входит заданная строка регулярных выражений.

  10 - включить файл, в содержимое которого не входят отдельные стоки из списка.
  11 - включить файл, в содержимое которого входят отдельные стоки из списка.
  12 - включить файл, в содержимое которого не входят отдельные стоки из списка, учитывая регистр.
  13 - включить файл, в содержимое которого входят отдельные стоки из списка, учитывая регистр.

  14 - включить файл, в содержимое которого не входят отдельные стоки из файла-списка.
  15 - включить файл, в содержимое которого входят отдельные стоки из файла-списка.
  16 - включить файл, в содержимое которого не входят отдельные стоки из файла-списка, учитывая регистр.
  17 - включить файл, в содержимое которого входят отдельные стоки из файла-списка, учитывая регистр.

  30 - включить файл, в содержимом которого больше строк, чем заданное количество.
  31 - включить файл, в содержимом которого меньше строк, чем заданное количество.
  32 - включить файл, в содержимом которого строк равно заданному количеству.

  40 - включить файл, длина текста которого равна заданному количеству.
  41 - включить файл, длина текста которого меньше заданного количества.
  42 - включить файл, длина текста которого больше заданного количества.
  43 - включить файл, длина текста которого не равна заданному количеству.
  44 - включить файл, длина текста которого входит в диапазон Min-Max заданного количества.

Symbol :
  t - проверяется содержимое файла.

Condition :
  Condition может включать:
    Слово, строку
    При Number 8, 9
      Строку регулярных выражений. см. Дополнение №2
      ??Key1,Key2,...KeyN - после ?? можно прописывать один или несколько ключей через запятую из TCIMG.ini из секции [FormatUser]
        Если необходимо прописать несколько подобных имён ключей, имеющих конечную и последовательную нумерацию,
        то для экономии места можно использовать диапазон, используя двойной дефис -- (serch11--serch16)
    При Number 10,11,12,13 используется подпараметр clipstring, позволяющий получать список строк для сравнения из буфера обмена.
    При Number 14,15,16,17 прописывается путь к файлу, в котором находится список строк для сравнения.
Примечание:
  Нет

Примеры:

marks=1||test<0t!!clpget> ;; выделить файлы, в содержимом которых нет фразы из буфера обмена
marks=1||test<10t!!clipstring> ;; выделить файлы, в содержимом которых нет фраз из буфера обмена (каждая фраза в буфере обмена с новой строки)
marks=1||test<11t!!clipstring> ;; выделить файлы, в содержимом которых есть фраза из буфера обмена (каждая фраза в буфере обмена с новой строки)
marks=1||test<12t!!clipstring> ;; выделить файлы, в содержимом которых нет фразы из буфера обмена (каждая фраза в буфере обмена с новой строки + учитывать регистр)
marks=1||test<13t!!clipstring> ;; выделить файлы, в содержимом которых есть фраза из буфера обмена (каждая фраза в буфере обмена с новой строки + учитывать регистр)
marks=1||test<1t!!clpget> ;; выделить файлы, в содержимом которых есть фраза из буфера обмена
marks=1||test<2t!!clpget> ;; выделить файлы, в содержимом которых нет фразы из буфера обмена (учитывать регистр)
marks=1||test<3t!!clpget> ;; выделить файлы, в содержимом которых есть фраза из буфера обмена (учитывать регистр)
marks=1||test<4t!!clpget> ;; выделить файлы, в содержимом которых нет фразы из буфера обмена (каждое слово в фразе ищется отдельно)
marks=1||test<5t!!clpget> ;; выделить файлы, в содержимом которых есть фраза из буфера обмена (каждое слово в фразе ищется отдельно)
marks=1||test<6t!!clpget> ;; выделить файлы, в содержимом которых нет фразы из буфера обмена (каждое слово в фразе ищется отдельно + учитывать регистр)
marks=1||test<7t!!clpget> ;; выделить файлы, в содержимом которых есть фраза из буфера обмена (каждое слово в фразе ищется отдельно + учитывать регистр)
marks=1||test<8t!!clpget> ;; выделить файлы, в содержимом которых нет подстроки с регулярными выражениями из буфера обмена
marks=1||test<9t!!clpget> ;; выделить файлы, в содержимом которых есть подстрока с регулярными выражениями из буфера обмена

slist=%WL||test<30t!!5> GLOBALSLIST<a> ;; из выделенных текстовых файлов получить те, в которых больше 5 строк
slist=%WL||test<31t!!5> GLOBALSLIST<a> ;; из выделенных текстовых файлов получить те, в которых меньше 5 строк
slist=%WL||test<32t!!5> GLOBALSLIST<a> ;; из выделенных текстовых файлов получить те, в которых ровно 5 строк

vlist=%WL||test<40t!!7> GLOBALVLIST<a> ;; из выделенных текстовых файлов получить те, в которых длина текста равна 7 символам
vlist=%WL||test<41t!!7> GLOBALVLIST<a> ;; из выделенных текстовых файлов получить те, в которых длина текста меньше 7 символов
vlist=%WL||test<42t!!7> GLOBALVLIST<a> ;; из выделенных текстовых файлов получить те, в которых длина текста больше 7 символов
vlist=%WL||test<43t!!7> GLOBALVLIST<a> ;; из выделенных текстовых файлов получить те, в которых длина текста не равно 7 символам
vlist=%WL||test<44t!!1-7> GLOBALVLIST<a> ;; из выделенных текстовых файлов получить те, в которых длина текста равна от 1 до 7 символов включительно


7.

  Сравнение по кодировке файла
Number :
  0 - включить текстовый файл.
  1 - включить бинарный файл.

Symbol :
  c - проверяется кодировка файла.

Condition :
  Кодировка:
    0 - ANSI
    1 - UTF-8
    2 - UTF-16
    3 - UTF-32

Примечание:
  Нет

Примеры:

marks=1||test<0c!!0> ;; выделить файлы, кодировка которых не ANSI
marks=1||test<1c!!0> ;; выделить файлы, кодировка которых ANSI
marks=1||test<1c!!1> ;; выделить файлы, кодировка которых UTF-8
marks=1||test<1c!!2> ;; выделить файлы, кодировка которых UTF-16
marks=1||test<1c!!3> ;; выделить файлы, кодировка которых UTF-32


8.

  Сравнение текстовый или бинарный файл
Number :
  0 - включить текстовый файл
  1 - включить бинарный файл

Symbol :
  b - проверяется бинарность файла

Condition :
  Нет

Примечание:
  Нет

Примеры:

marks=1||test<0b!!> ;; выделить текстовые файлы в активной панели
marks=1||test<0b!!//1e!!gif|jpg|png|jpeg> ;; выделить "битые" изображения в активной панели
marks=1||test<1b!!> ;; выделить бинарные файлы в активной панели


9.

  Сравнение по размеру и информации Exif тегов изображения и страниц файлов PDF
Number :
  0 - включить изображение, которое верно заданному математическому условию, см. описание параметра.
  1 - включить изображение, ширина которого равна заданному размеру.
  2 - включить изображение, ширина которого больше заданного размера.
  3 - включить изображение, ширина которого меньше заданного размера.
  4 - включить изображение, высота которого равна заданному размеру.
  5 - включить изображение, высота которого больше заданного размера.
  6 - включить изображение, высота которого меньше заданного размера.
  7 - включить изображение, ширина которого больше высоты.
  8 - включить изображение, ширина которого меньше высоты.
  9 - включить изображение, ширина которого равна высоте.

  10 - включить изображение, значение Exif тега которого совпадает с заданным значением.
  11 - включить изображение, значение Exif тега которого не совпадает с заданным значением.
  12 - включить изображение, у которого существует заданный Exif тег.
  13 - включить изображение, у которого не существует заданного Exif тега.
  14 - включить изображение, значение Exif тега которого меньше с заданного значения (для числовых данных).
  15 - включить изображение, значение Exif тега которого больше с заданного значения (для числовых данных).

  16 - включить изображение, большая сторона которого равна заданному размеру.
  17 - включить изображение, большая сторона которого больше заданного размера.
  18 - включить изображение, большая сторона которого меньше заданного размера.
  19 - включить изображение, меньшая сторона которого равна заданному размеру.
  20 - включить изображение, меньшая сторона которого больше заданного размера.
  21 - включить изображение, меньшая сторона которого меньше заданного размера.

  22 - включить изображение, которое имеет метаданные Exif.
  23 - включить изображение, которое не имеет метаданных Exif.

  30 - включить изображение.
  31 - включить не изображение.

  40 - включить анимированное GIF изображение.
  41 - включить не анимированное изображение.

  42 - включить анимированное TIF или TIFF изображение.
  43 - включить не анимированное изображение.

Проверка количества страниц PDF файла:
  50 - включить, если число страниц равна заданному количеству.
  51 - включить, если число страниц больше заданного количества.
  52 - включить, если число страниц меньше заданного количества.
  53 - включить, если число страниц не равно заданному количеству.
  54 - включить, если число страниц равно заданному диапазону Min-Max.

Symbol :
  m - проверяются размеры изображения, проверяются значения Exif тегов.

Condition :
  При Number=1,2,3,4,5,6,16,17,18,19,20,21 прописывается размер в пикселях
  При Number=7,8,9 прописывается символ 'x'
  При Number=10,11,12,13,14,15 прописывается номер тега см. Дополнение №29
  При Number=11,12,14,15 прописывается 2-й параметр: значение для сравнения.

  При Number=0 прописывается математическое выражение, в котором:
   символы '@W' будут заменены значением ширины изображения.
   символы '@H' будут заменены значением высоты изображения.
   символы '@B' будут заменены значением набольшей стороны изображения.
   символы '@M' будут заменены значением наименьшей стороны изображения.
   символ '{' будет заменён символом '<' (знак меньше).
   символ '}' будет заменён символом '>' (знак больше).
   символы '{}' будут заменены символами '<>' (не равно).
   в выражении могут использоваться математические и логические операторы и различные функции Autoit

Примечание:
  Поддерживаемые типы изображений: BMP, GIF, PNG, JPG, JPEG, JPE, TIF, TIFF, DIB, RLE
  Просмотреть какую информацию может содержать изображение можно с помощью команды:

infos=3||7||%P%N ;; отобразить таблицу с информацией изображения под курсором


Примеры:

copys=%WL||"%t"//0||test<1m!!1200> ;; копировать выделенные изображения в другую панель, ширина которых равна 1200px
copys=%WL||"%t"//0||test<2m!!1000> ;; копировать выделенные изображения в другую панель, ширина которых больше 1000px
copys=%WL||"%t"//0||test<3m!!1000> ;; копировать выделенные изображения в другую панель, ширина которых меньше 1000px
copys=%WL||"%t"//0||test<4m!!1200> ;; копировать выделенные изображения в другую панель, высота которых равна 1200px
copys=%WL||"%t"//0||test<5m!!1000> ;; копировать выделенные изображения в другую панель, высота которых больше 1000px
copys=%WL||"%t"//0||test<6m!!1000> ;; копировать выделенные изображения в другую панель, высота которых меньше 1000px
copys=%WL||"%t"//0||test<7m!!x> ;; копировать выделенные изображения в другую панель, ширина которых больше высоты
copys=%WL||"%t"//0||test<8m!!x> ;; копировать выделенные изображения в другую панель, высота которых больше ширины
copys=%WL||"%t"//0||test<9m!!x> ;; копировать выделенные изображения в другую панель, высота которых равна ширине

copys=%WL||"%t"//0||test<10m!!33!!SONY> ;; копировать выделенные изображения в другую панель, изготовителя фотоаппарата (тег Make) которых SONY
copys=%WL||"%t"//0||test<11m!!33!!SONY> ;; копировать выделенные изображения в другую панель, изготовителя фотоаппарата (тег Make) которых не SONY
copys=%WL||"%t"//0||test<12m!!33> ;; копировать выделенные изображения в другую панель, в тегах которого есть значение изготовителя фотоаппарата (тег Make)
copys=%WL||"%t"//0||test<13m!!33> ;; копировать выделенные изображения в другую панель, в тегах которого нет значения изготовителя фотоаппарата (тег Make)
copys=%WL||"%t"//0||test<14m!!23!!72> ;; копировать выделенные изображения в другую панель, у которых разрешение по X (тег XResolution) меньше 72
copys=%WL||"%t"//0||test<15m!!23!!72> ;; копировать выделенные изображения в другую панель, у которых разрешение по X (тег XResolution) больше 72

marks=1||test<30m!!> ;; выделить все файлы "не битые" файлы bmp, gif, png, jpg, jpeg, jpe, tif, tiff, dib, rle
marks=1||test<31m!!> ;; выделить все файлы "битые" файлы bmp, gif, png, jpg, jpeg, jpe, tif, tiff, dib, rle

slist=%WL||test<50m!!-1>||progres<> GLOBALSLIST<a> ;; из выделенных PDF файлов получить нестандартные - те, у которых пока неправильно определяется количество страниц (такие pdf файлы можно выслать для уточнения значений)
slist=%WL||test<50m!!1>||progres<> GLOBALSLIST<a> ;; из выделенных PDF файлов получить одностраничные
slist=%WL||test<51m!!1>||progres<> GLOBALSLIST<a> ;; из выделенных PDF файлов получить многостраничные (больше 1)
slist=%WL||test<52m!!5>||progres<> GLOBALSLIST<a> ;; из выделенных PDF файлов получить те, у которых меньше 5 страниц
slist=%WL||test<53m!!6>||progres<> GLOBALSLIST<a> ;; из выделенных PDF файлов получить те, у которых страниц не равно 6
slist=%WL||test<54m!!7-15>||progres<> GLOBALSLIST<a> ;; из выделенных PDF файлов получить те, у которых страниц от 7 до 15 включительно

slist=%WL||test<0m!!0=Mod(@W,100)> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых ширина кратна 100
slist=%WL||test<0m!!Mod(@W,100)> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых ширина не кратна 100

slist=%WL||test<0m!!@W=@H*2> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых ширина в 2 раза больше высоты
slist=%WL||test<0m!!@W{}@H*2> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых ширина не в 2 раза больше высоты
slist=%WL||test<0m!!@W=@H*2~~OR~~@H=@W*2> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых одна из сторон в 2 раза больше высоты
slist=%WL||test<0m!!@B{}@M*2> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых одна из сторон не в 2 раза больше другой
slist=%WL||test<0m!!@B=@M*2> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых одна из сторон в 2 раза больше другой

slist=%WL||test<0m!!@W}=100~~AND~~@W{=200> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых ширина в диапазоне от 100 до 200 включительно
slist=%WL||test<0m!!25=Number(StringRight(@W,2))> GLOBALSLIST<a> ;; из выделенных изображений получить те, у которых значение ширины оканчивается на 25


10.

  Сравнение файлов по контрольным суммам
Number :
  0 - включить объект, который не имеет заданную контрольную сумму.
  1 - включить объект, который имеет заданную контрольную сумму.

Symbol :
  h - проверяется контрольная сумма файла.

Condition :
  1-й вариант:
  Condition=Flag!!Hash, где:
    Flag :
      1 - подсчёт контрольной суммы MD5.
      2 - подсчёт контрольной суммы SHA1.
      3 - подсчёт контрольной суммы CRC32.
      4 - подсчёт контрольной суммы MD2.
      5 - подсчёт контрольной суммы MD4.
      6 - подсчёт контрольной суммы SHA256.
      7 - подсчёт контрольной суммы SHA384.
      8 - подсчёт контрольной суммы SHA512.
      9 - подсчёт контрольной суммы BLAKE2s.
      30 - подсчёт контрольной суммы BLAKE224.
      31 - подсчёт контрольной суммы BLAKE256.
      32 - подсчёт контрольной суммы BLAKE384.
      33 - подсчёт контрольной суммы BLAKE512.
      остальные номера и методы смотрите в Дополнении №10
    Hash - возможны варианты:
      1) Строка контрольной суммы.
      2) Путь к файлу со строкой или со строками контрольных сумм (каждая сумма с новой строки).
      3) cliphash - строка или строки контрольных сумм из буфера обмена.

  2-й вариант:
  Condition=-1!!File, где:
    File - путь к файлу с контрольными суммами
      Сравнение производится методом, относительно расширения файла.
      Для файлов SHA3 метод автоматически определяет сравнение SHA3_224, SHA3_256, SHA3_384, SHA3_512.
      Форматы файлов аналогичны действию команды cm_CRCcreate Total Commander для файлов (без рекурсии).
      Контрольные суммы читаются из файлов с форматами 2-х видов:

1) Формат для файлов SFV (контрольная сумма CRC32):

NameFile1.txt BF4C2A55
NameFile2.txt 90E2AAE3

2) Формат для файлов MD5, SHA, SHA3, ...:

fd7959b5702f5c68313a65df87204751 *NameFile1.txt
5a33beb68dc256a3461ee20311dc1a46 *NameFile2.txt


  3-й вариант:
  Condition=-2!!Ext, где:
    Ext - расширение или список расширений именных файлов (sfv|sha|sha3|md5) с контрольной суммой проверяемого файла
      Для каждого файла C:\NameFile.txt контрольная сумма сравнивается с данными именного файла C:\NameFile.txt.sfv
      Если указано несколько расширений, то сравнивается с первым существующим файлом.
      Именные файлы с контрольной суммой должны находится в том же каталоге, что и проверяемый файл.
      Формат файлов с контрольной суммой как в варианте №2.

  4-й вариант:
  Condition=-3!!File, где:
    File - путь к файлу с контрольными суммами
  Сравнение производится методом, относительно расширения файла (sfv, sha, sha3, md5, ...) .
  Сравнение производится относительно местоположения файла с контрольными суммами.
  Для файлов SHA3 метод автоматически определяет сравнение SHA3_224, SHA3_256, SHA3_384, SHA3_512.
  Форматы файлов аналогичны действию команды cm_CRCcreate Total Commander для файлов (с рекурсией).
  Контрольные суммы читаются из файлов с форматами 2-х видов:

1) Формат для файлов SFV (контрольная сумма CRC32):

NameFile1.txt BF4C2A55
NameFile2.txt 90E2AAE3
Folder1\NameFile1-2.txt 6C2037AB
Folder1\Folder2\NameFile2-2.txt 319EDA21
Folder1\Folder2\...\FolderN\NameFileN-N.txt 319EDA21

2) Формат для файлов MD5, SHA, SHA3, ...:

e190d8e629ba609e72b6bcd2fbef9bd9 *NameFile1.txt
28c25fe16938452c4dc82cd3297b2be7 *NameFile2.txt
e888aa5ed1dc519bbd2db10cbcdb73d5 *Folder1\NameFile1-2.txt
4b6b4bf8d56ca63c3cd885eba985367e *Folder1\Folder2\NameFile2-2.txt
347a43f015473cc6df38924e4e10be7e *Folder1\Folder2\...\FolderN\NameFileN-N.txt


Примечание:
  Если необходимо проверить большое количество файлов воспользуйтесь командой chesh

Примеры:

1-й вариант
marks=0||test<1h!!1!!38d4a58e9d2be5d3a0aae304d858a06d> ;; выделить файл в текущей панели, который имеет хеш MD5 (38d4a58e9d2be5d3a0aae304d858a06d)
marks=0||test<1h!!1!!c:\testhash.txt> ;; выделить файл/ы в текущей панели, который/е имеет/ют хеш MD5 из списка c:\testhash.txt
marks=0||test<1h!!1!!cliphash> ;; выделить файл/ы в текущей панели, который/е имеет/ют хеш MD5 из списка в буфере обмена

2-й вариант
slist=%WL||test<1h!!-1!!%P%N> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно сумм записанных в файле в под курсором (sfv, md5, sha3, ...) , в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку
slist=%WL||test<1h!!-1!!%T%M> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно сумм записанных в файле в другой панели (sfv, md5, sha3, ...) , в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку
slist=%WL||test<1h!!-1!!D:\Test.md5> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно сумм записанных в файле md5, в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку
slist=%WL||test<1h!!-1!!D:\Test.sfv> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно сумм записанных в файле sfv, в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку
slist=%WL||test<1h!!-1!!D:\Test.sha> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно сумм записанных в файле sfv, в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку
slist=%WL||test<1h!!-1!!D:\Test.sha3> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно сумм записанных в файле sha3 (метод автоматически определяется SHA3_224, SHA3_256, SHA3_384, SHA3_512), в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку

3-й вариант
slist=%WL||test<1h!!-2!!md5> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно суммы записанной в именных файлах md5, в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку
slist=%WL||test<1h!!-2!!sfv|sha|sha3|md5> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; проверить контрольную сумму выделенных файлов, относительно суммы записанной в именных файлах (sfv, sha, sha3, md5), в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST1 список не прошедших проверку

4-й вариант
slist=FOLDC<%WL//1//-1>||test<1h!!-3!!D:\D.md5> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; в выделенных объектах проверить контрольную сумму всех файлов, относительно сумм записанных в файле md5, в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST2 список не прошедших проверку
slist=FOLDC<%WL//1//-1>||test<1h!!-3!!D:\D.md5>||progres<> GLOBALSLIST1<a> GLOBALSLIST2<a> ;; в выделенных объектах проверить контрольную сумму всех файлов, относительно сумм записанных в файле md5, в GLOBALSLIST1 список прошедших проверку, в GLOBALSLIST2 список не прошедших проверку


11.

  Сравнение по содержимому каталога
Number :
  Включены будут те каталоги, в содержимом которых:
    0 - не присутствуют объекты, заданные в условии Condition.
    1 - присутствуют объекты, заданные в условии Condition.

    10 - есть количество объектов, заданное в условиях Condition (с рекурсией).
    11 - нет количества объектов, заданных в условиях Condition (с рекурсией).

    12 - есть количество объектов, заданное в условиях Condition (в корне каталога).
    13 - нет количества объектов, заданных в условиях Condition (в корне каталога).

Symbol :
  f - проверяется наличие объектов в содержимом каталога.

Condition :

Для Number=0,1  Проверяется существование типов объектов.

  Condition=Flag!!Recursion!!Mask§§ParamTest, где:
    Flag :
      0 - получить файлы и папки (по умолчанию).
      1 - только файлы.
      2 - только папки.
    Recursion :
      0 - без рекурсии - корневой каталог.
     -1 с рекурсией: глубина 125 (по умолчанию).
      N - глубина вложенности.
    Mask - Маска может быть либо полная с использованием символов "*" и "?", либо с указанием расширения файлов.
      В качестве разделителя используется символ "|". По умолчанию "*" - найти все файлы.
      Для поиска файлов без расширения используется маска ":zeroext:"
        Пример: *.ini|*.txt
      Маска шаблонов. см. Дополнение №18:
        Пример: [extnd=Arhive]
      "Прямая" маска без преобразования для имени объекта.
        Для этого перед маской необходимо прописать &&
        Пример: &&.+\.(?:(?:woff|eof|tff)(?:\d+)?)
      "Прямая" маска без преобразования для пути объекта.
        Для этого перед маской необходимо прописать ##
        Пример: ##(?:.*TCIMG_)([^.\\]*)(?:\.lng)
    ParamTest :
      Строка параметров такая же как в параметре test<ParamTest>
      т.е. производится дополнительное тестирование объектов папки.

Для Number=10,11,12,13  Проверяется количество объектов.

  Condition=SymbolFilesCount!!SymbolFoldersCount, где:
    в условия SymbolFilesCount и SymbolFoldersCount входят:
      Symbol - символ(ы), означающие: = (равно), { (меньше), } (больше), {} (не равно), ? (диапазон: два числа, прописанных через дефис).
      FilesCount - количество файлов.
      FoldersCount - количество подкаталогов.
    Если условие SymbolFilesCount пустое, то проверяется только количество подкаталогов.
    Если условие SymbolFoldersCount пустое или не прописано, то проверяется только количество файлов.

Примечание:
  Нет

Примеры:

marks=%Z%WL||test<1f!!1!!-1!!*.zip|*.rar> ;; из выделенного оставить выделенными только те каталоги, в которых есть архивы zip, rar (проверка на всей глубине вложенности)
marks=2||test<0f!!1!!0!!*.txt|*ini> ;; выделить папки, в 1-м уровне которых нет файлов *.txt|*ini
marks=2||test<0f!!1!!-1!!*.txt|*ini> ;; выделить папки, в содержимом которых нет файлов *.txt|*ini
marks=2||test<0f!!1!!-1!!:zeroext:> ;; выделить в активной панели папки, в которых нет файлов без расширения
marks=2||test<0f!!2!!0!!22*|33*|55*> ;; выделить папки, в которых нет подпапок 22, 55, 33 в 1-м уровне
marks=2||test<0f!!2!!0> ;; выделить папки, в которых нет подпапок
marks=2||test<1f!!1!!0!!*.txt|*ini> ;; выделить папки, в 1-м уровне которых есть файлы *.txt|*ini
marks=2||test<1f!!1!!-1!!*.txt|*ini> ;; выделить папки, в содержимом которых есть файлы *.txt|*ini
marks=2||test<1f!!1!!-1!!:zeroext:> ;; выделить в активной панели папки, в которых есть файлы без расширения
marks=2||test<1f!!2!!0!!22*|33*|55*> ;; выделить папки, в которых есть подпапки 22, 55, 33 в 1-м уровне
marks=2||test<1f!!2!!0> ;; выделить папки, в которых есть подпапки

shape=32 dilog=[dates=BOX3][dates=BOX3] marks=2||test<1f!!1!!-1!!*§§1x!!GLOBALDATES<1>!!#1GLOBALDATES<2>> ;; выделить папки, в которых есть файлы, дата модификации которых в диапазоне дат заданных в диалоге
shape=32 marks=2||test<1f!!1!!-1!!*§§1x!![dates=BOX3]!!#1[dates=BOX3]> ;; выделить папки, в которых есть файлы, дата модификации которых в диапазоне дат заданных в диалоге

marks=2||test<1f!!1!!-1!!*§§1x!!!!}y2013{y2018> ;; выделить папки, в которых есть файлы, дата модификации которых от 2013 до 2018 года
marks=2||test<1f!!1!!-1!!*§§1x!!2013/01/01!!#12018/01/01> ;; выделить папки, в которых есть файлы, дата модификации которых от 2013 до 2018 года

copys=%WL||"%t"//0||test<12f!!=0!!=0>||upd<3> ;; из выделенных папок копировать в другую панель пустые папки

copys=%WL||"%t"//0||test<10f!!!!=5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых есть всего 5 подпапок (с рекурсией)
copys=%WL||"%t"//0||test<10f!!{}5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых нет ровно 5 файлов (с рекурсией)
copys=%WL||"%t"//0||test<10f!!=5!!=5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых есть всего 5 файлов и 5 подпапок (с рекурсией)
copys=%WL||"%t"//0||test<10f!!=5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых есть всего 5 файлов (с рекурсией)

copys=%WL||"%t"//0||test<12f!!!!=5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых в корне есть всего 5 подпапок
copys=%WL||"%t"//0||test<12f!!{}5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых в корне нет ровно 5 файлов
copys=%WL||"%t"//0||test<12f!!=5!!=5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых в корне есть всего 5 файлов и 5 подпапок
copys=%WL||"%t"//0||test<12f!!=5>||upd<3> ;; из выделенных папок копировать в другую панель те, у которых в корне есть всего 5 файлов


12.

  Сравнение информации медиафайлов с помощью MediaInfo.dll
Number :
    0 - включать медиафайлы, в которых заданное значение Value не равно условию Parameter.
    1 - включать медиафайлы, в которых заданное значение Value равно условию Parameter.
    2 - включать медиафайлы, в которых заданное значение Value меньше условия Parameter.
    3 - включать медиафайлы, в которых заданное значение Value больше условия Parameter.
    4 - включать медиафайлы, в которых получаемое значение Parameter входит в строку регулярного выражения Value.
    5 - включать медиафайлы, в которых получаемое значение Parameter не входит в строку регулярного выражения Value.
    6 - включать медиафайлы, в которых заданное значение Value меньше или равно условию Parameter.
    7 - включать медиафайлы, в которых заданное значение Value больше или равно условию Parameter.

Symbol :
  g - проверяется информация медиафайлов.

Condition :
  Condition=Value!!Mode,Flag!!Parameter!!String1!!String2, где:
    Value - значение с которым сравнивается информация медиафайла.
    Mode :
      0 - получение общей информации (General).
      1 - получение видео информации (Video).
      2 - получение аудио информации (Audio).
      3 - получение графической информации (Image).
      Flag - [необязательный] удаляет пробельные символы в строке получаемых данных MediaInfo:
        может быть суммой следующих флагов 1, 2, 4
        0 = оставляет строку как есть.
        1 = удаляет пробельные символы в начале строки.
        2 = удаляет пробельные символы в конце строки.
        3 = удаляет пробельные символы в начале и в конце строки (по умолчанию).
        4 = удаляет повтор (или многократный повтор) пробельных символов в строке.
        8 = удаляет все пробельные символы (не требуется суммировать флаги).
    Parameter - параметр MediaInfo, значение которого необходимо получить.
      Если параметр имеет пробелы, то необходимо их заменять двумя тильдами ~~ (Пример: Bit~~rate).
    String1 и String2 - необязательный - означает поиск и замену в полученной информации, где:
      String1 - что искать, String2 - чем заменять.
      Если String2 не указан, то стока String1 удаляется из информации.

Примечание:
  MediaInfo.dll - не входит в базовый состав TCIMG, для желающих можно прописать путь к библиотеке в TCIMG.ini в секции [DLL] в ключе MediaInfo
  Для просмотра всех параметров и значений MediaInfo.dll для заданного объекта можно воспользоваться командой infos.

infos=3||2||%P%N ;; отображение информации файла под курсором с помощью MediaInfo.dll


Примеры:

copys=%WL||"%t"//0||test<0g!!492!!1,8!!Width!!pixels//0g!!368!!1,8!!Height!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина не равна 492 пикселям, высота не равна 368 пикселям
copys=%WL||"%t"//0||test<0g!!492!!1,8!!Width!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина не равна 492 пикселям

copys=%WL||"%t"//0||test<1g!!492!!1,8!!Width!!pixels//1g!!368!!1,8!!Height!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина равна 492 пикселям, высота равна 368 пикселям
copys=%WL||"%t"//0||test<1g!!492!!1,8!!Width!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина равна 492 пикселям

copys=%WL||"%t"//0||test<2g!!600!!1,8!!Width!!pixels//2g!!400!!1,8!!Height!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина меньше 600 пикселей , высота меньше 400 пикселей
copys=%WL||"%t"//0||test<2g!!600!!1,8!!Width!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина меньше 600 пикселей

copys=%WL||"%t"//0||test<3g!!600!!1,8!!Width!!pixels//3g!!400!!1,8!!Height!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина больше 600 пикселей , высота больше 400 пикселей
copys=%WL||"%t"//0||test<3g!!600!!1,8!!Width!!pixels> ;; копировать выделенные видеофайлы в другую панель, те у которых ширина больше 600 пикселей

copys=%WL||"%t"//0||test<0g!!Rock!!0!!Genre> ;; копировать выделенные аудиофайлы в другую панель, жанр которых не является Rock
copys=%WL||"%t"//0||test<1g!!Rock!!0!!Genre> ;; копировать выделенные аудиофайлы в другую панель, жанр которых является Rock

copys=%WL||"%t"//0||test<4g!!(?i).*Rock.*!!0!!Genre> ;; копировать выделенные аудиофайлы в другую панель в теге Genre есть слово "Rock"
copys=%WL||"%t"//0||test<5g!!(?i).*Rock.*!!0!!Genre> ;; копировать выделенные аудиофайлы в другую панель в теге Genre нет слова "Rock"

alist=%WL||test<6g!!500!!3,8!!Width!!pixels//6g!!500!!3,8!!Height!!pixels> GLOBALALIST<a> ;; из выделенных изображений получить файлы, ширина и высота которых меньше или равна 500 px
alist=%WL||test<7g!!500!!3,8!!Width!!pixels//7g!!500!!3,8!!Height!!pixels> GLOBALALIST<a> ;; из выделенных изображений получить файлы, ширина и высота которых больше или равна 500 px


13.

  Сравнение папки по информации в содержимом файле Desktop.ini
Number :
  Включены буду те папки, в которых в содержимом Desktop.ini:
    0 - совпадает путь с заданным.
    1 - не совпадает путь с заданным.
    2 - совпадает путь и номер значка с заданными.
    3 - не совпадает путь и номер значка с заданными.
    4 - совпадает номер значка с заданным.
    5 - не совпадает номер значка с заданным.
    8 - имеется в пути значка слэш, при Condition=1.
    9 - не имеется в пути значка слэш, при Condition=1.
  Включены буду те папки, в которых:
    6 - существует файл Desktop.ini, при Condition=1.
    7 - не существует файл Desktop.ini, при Condition=1.
  Включены буду те папки, в которых:
    10 - хеш значка совпадает с заданным хешем, при Condition=Hesh!!Method.
    11 - хеш значка не совпадает с заданным хешем, при Condition=Hesh!!Method.
  Method = 1 - подсчёт контрольной суммы MD5 ; 2 - SHA1 ; 3 - CRC32 ;4 - MD2 ; 5 - MD4 ; 6 - SHA256 ; 7 - SHA384 ; 8 - SHA512.

Symbol :
  o - проверяется содержимое или существование файла Desktop.ini.

Condition :
  Condition может включать:
    Номер значка.
    Путь к библиотеки значков или к значку.
    Путь к библиотеки значков или к значку + номер значка через запятую.
    1

Примечание:
  Нет

Примеры:

marks=2||test<0o!!%%COMMANDER_PATH%%\Wcmicons.dll> ;; выделить только папки, путь значка которых равен %COMMANDER_PATH%\Wcmicons.dll в Desktop.ini
marks=2||test<1o!!%%COMMANDER_PATH%%\Wcmicons.dll> ;; выделить только папки, путь значка которых не равен %COMMANDER_PATH%\Wcmicons.dll в Desktop.ini
marks=2||test<2o!!%%COMMANDER_PATH%%\Wcmicons.dll,2035> ;; выделить только папки, путь и номер присвоенного значка которых равен %COMMANDER_PATH%\Wcmicons.dll,2035 в Desktop.ini
marks=2||test<3o!!%%COMMANDER_PATH%%\Wcmicons.dll,2035> ;; выделить только папки, путь и номер присвоенного значка которых не равен %COMMANDER_PATH%\Wcmicons.dll,2035 в Desktop.ini
marks=2||test<4o!!0> ;; выделить только папки, номер присвоенного значка которых равен 0 в Desktop.ini
marks=2||test<5o!!20> ;; выделить только папки, номер присвоенного значка которых не равен 20 в Desktop.ini
marks=2||test<6o!!1> ;; выделить только папки, в которых есть Desktop.ini
marks=2||test<7o!!1> ;; выделить только папки, в которых нет Desktop.ini
marks=2||test<8o!!1> ;; выделить только папки, в которых в пути к значку есть \ в Desktop.ini
marks=2||test<9o!!1> ;; выделить только папки, в которых в пути к значку нет \ в Desktop.ini
marks=PS<%p//2//0>||test<4o!![Info=d32%P%N]> ;; выделить в текущем каталоге папки, номер значка которых равен номеру значка папки под курсором в Desktop.ini
global sends=@<info=d30%P%N> sends=<info=f1GLOBALSENDS<1>> marks=2||test<10o!!GLOBALSENDS<1>!!1> ;; выделить только папки, хеш MD5 присвоенного значка которых равен хешу присвоенного значка папки под курсором
global sends=@<info=d30%P%N> sends=<info=f1GLOBALSENDS<1>> marks=2||test<11o!!GLOBALSENDS<1>!!1> ;; выделить только папки, хеш MD5 присвоенного значка которых не равен хешу присвоенного значка папки под курсором


14.

  Сравнение по датам объекта
Number :
  1 - включить объект, который имеет в дате модификации дату с заданными условиями.
  2 - включить объект, который не имеет в дате модификации дату с заданными условиями.
  3 - включить объект, который имеет в дате создания дату с заданными условиями.
  4 - включить объект, который не имеет в дате создания дату с заданными условиями.
  5 - включить объект, который имеет в дате последнего доступа дату с заданными условиями.
  6 - включить объект, который не имеет в дате последнего доступа дату с заданными условиями.

Symbol :
  x - проверяется дата файла.

Condition :
  Condition=Data1!!Comparison, где:
    Data1 - дата сравнения, формат даты:
      1) Полная дата YYYYMMDDHHNNSS. Знаки разделителей не имеют значение, главное порядок, где:
        YYYY - все четыре цифры года.
        MM - месяц от 01 до 12.
        DD - день месяца от 01 до 31.
        HH - часы в 24-часовом формате от 00 до 23.
        NN - минуты от 00 до 59.
        SS - секунды от 00 до 59.
      2) Краткая дата YYYYMMDD - год, месяц, день (при 2-ом символе параметра Comparison=1)
      3) Время HHNNSS - часы, минуты, секунды (при 2-ом символе параметра Comparison=2)
    Data1 так же может взята из следующих объектов:
       из пути к объекту Path :
        <mdata=Path> - получение даты модификации.
        <cdata=Path> - получение даты создания.
        <adata=Path> - получение даты последнего доступа.
       из пути к объекту Path :
        <info=o25Path> - получение даты модификации.
        <info=o45Path> - получение даты создания.
        <info=o65Path> - получение даты последнего доступа.
       из системы:
        Тег #SISDATE - текущая системная дата.
       из папки:
        Параметр [xfolder]. см. Дополнение №11.
       может не указываться, см. Comparison 3)
    Comparison - условие(я) сравнения, может принимать следующие значения:
      1) #(0/1/2/3)Data2 - сравнение по диапазону с первой датой Data1, где:
        # - приставка
        0 - сравнение по полной дате
        1 - по краткой дате
        2 - по времени
        3 - Data1 и Data2 могут быть в любом из форматов YYYY, YYYYMM, YYYYMMDD, YYYYMMDDHH, YYYYMMDDHHMM, YYYYMMDDHHMMSS
        Data2 - формат даты такой же, как и в Data1
      2) (+/-)(y/m/d/h/n/s/w)(Number) - сравнение по диапазону с первой датой Data1, 2-я дата для диапазона является результатом заданных условий:
        +/- - изменение Data1
          + увеличить.
          - уменьшить.
        y/m/d/h/n/s/w - что изменять.
          y - год.
          m - месяц.
          d - день.
          h - часы.
          n - минуты.
          s - секунды.
          w - недели.
          
        Number - число на которое изменяется Data1
      3) ({/}/=)(012) - сравнение относительно первой даты, где:
        } - больше.
        { - меньше.
        = - равно.
        —————
        0 - сравнение по полной дате.
        1 - по краткой.
        2 - по времени.

Примечание:
  Нет

Примеры:

lists=%WL||test<1x!!!!}d9{d19> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось с 10-го по 18-е число
lists=%WL||test<1x!!!!}h13{h23> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось с 14:00 до 22:59
lists=%WL||test<1x!!!!}m1{m11> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось с февраля по октябрь
lists=%WL||test<1x!!!!}y2009{y2013> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось с 2010 по 2012 год
lists=%WL||test<1x!!!!=d10=d18> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось 10-го и 18-го числа
lists=%WL||test<1x!!!!=d10> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось 10-го числа
lists=%WL||test<1x!!!!=h14=h22> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось с 14:00 до 14:59 и с 22:00 до 22:59
lists=%WL||test<1x!!!!=h14> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось с 14:00 до 14:59
lists=%WL||test<1x!!!!=m2=m10> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в феврале и в октябре
lists=%WL||test<1x!!!!=m2> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в феврале
lists=%WL||test<1x!!!!=y2009> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в 2009 году
lists=%WL||test<1x!!!!=y2010=y2012> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в 2010 и в 2012 году
lists=%WL||test<1x!!#SISDATE!!-d7> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении последних 7-ми дней
lists=%WL||test<1x!!#SISDATE!!-h3> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении последних 3-х часов
lists=%WL||test<1x!!#SISDATE!!-m2> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении последних 2-х месяцев
lists=%WL||test<1x!!#SISDATE!!-n5> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении последних 5-ти минут
lists=%WL||test<1x!!#SISDATE!!-w17> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении последних 17-ти недель
lists=%WL||test<1x!!#SISDATE!!-y2+w11-m2+d7-h3> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении заданной даты
lists=%WL||test<1x!!#SISDATE!!-y2> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых изменилось в течении последних 2-х лет
lists=%WL||test<1x!![adata=%T%M]!!{0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых меньше даты последнего доступа объекта в другой панели
lists=%WL||test<1x!![adata=%T%M]!!}0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых больше даты последнего доступа объекта в другой панели
lists=%WL||test<1x!![adata=%T%M]!!=0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых равна дате последнего доступа объекта в другой панели
lists=%WL||test<1x!![cdata=%T%M]!!{0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых меньше даты создания объекта в другой панели
lists=%WL||test<1x!![cdata=%T%M]!!}0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых больше даты создания объекта в другой панели
lists=%WL||test<1x!![cdata=%T%M]!!=0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых равна дате создания объекта в другой панели
lists=%WL||test<1x!![mdata=%T%M]!!{0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых меньше даты модификации объекта в другой панели
lists=%WL||test<1x!![mdata=%T%M]!!}0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых больше даты модификации объекта в другой панели
lists=%WL||test<1x!![mdata=%T%M]!!=0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых равна дате модификации объекта в другой панели
lists=%WL||test<1x!!14:12:05!!{2> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых меньше времени 14:12:05
lists=%WL||test<1x!!14:12:05!!}2> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых больше времени 14:12:05
lists=%WL||test<1x!!14:12:05!!=2> ;; записать в буфер обмена пути выделенных объектов, только тех, время модификации которых равна времени 14:12:05
lists=%WL||test<1x!!2012/01/09!!{1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата модификации которых меньше короткой даты 2012/01/09
lists=%WL||test<1x!!2012/01/09!!}1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата модификации которых больше короткой даты 2012/01/09
lists=%WL||test<1x!!2012/01/09!!=1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата модификации которых равна короткой дате 2012/01/09
lists=%WL||test<1x!!2012/01/09~~00:03:00!!{0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых меньше даты 2012/01/09 00:03:00
lists=%WL||test<1x!!2012/01/09~~00:03:00!!}0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых больше даты 2012/01/09 00:03:00
lists=%WL||test<1x!!2012/01/09~~00:03:00!!=0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых равна дате 2012/01/09 00:03:00
lists=%WL||test<1x!!2013/01/09~~00:03:00!!#02013/01/11~~12:03:01> ;; записать в буфер обмена пути выделенных объектов, только тех, дата модификации которых находится в диапазоне дат 2013/01/09 00:03:00 и 2013/01/11 12:03:01
lists=%WL||test<3x!!14:12:05!!{2> ;; записать в буфер обмена пути выделенных объектов, только тех, время последнего доступа которых меньше времени 14:12:05
lists=%WL||test<3x!!14:12:05!!{2> ;; записать в буфер обмена пути выделенных объектов, только тех, время создания которых меньше времени 14:12:05
lists=%WL||test<3x!!14:12:05!!}2> ;; записать в буфер обмена пути выделенных объектов, только тех, время последнего доступа которых больше времени 14:12:05
lists=%WL||test<3x!!14:12:05!!}2> ;; записать в буфер обмена пути выделенных объектов, только тех, время создания которых больше времени 14:12:05
lists=%WL||test<3x!!14:12:05!!=2> ;; записать в буфер обмена пути выделенных объектов, только тех, время последнего доступа которых равна времени 14:12:05
lists=%WL||test<3x!!14:12:05!!=2> ;; записать в буфер обмена пути выделенных объектов, только тех, время создания которых равна времени 14:12:05
lists=%WL||test<3x!!2012/01/09!!{1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата последнего доступа которых меньше короткой даты 2012/01/09
lists=%WL||test<3x!!2012/01/09!!{1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата создания которых меньше короткой даты 2012/01/09
lists=%WL||test<3x!!2012/01/09!!}1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата последнего доступа которых больше короткой даты 2012/01/09
lists=%WL||test<3x!!2012/01/09!!}1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата создания которых больше короткой даты 2012/01/09
lists=%WL||test<3x!!2012/01/09!!=1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата последнего доступа которых равна короткой дате 2012/01/09
lists=%WL||test<3x!!2012/01/09!!=1> ;; записать в буфер обмена пути выделенных объектов, только тех, короткая дата создания которых равна короткой дате 2012/01/09
lists=%WL||test<3x!!2012/01/09~~00:03:00!!{0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата последнего доступа которых меньше даты 2012/01/09 00:03:00
lists=%WL||test<3x!!2012/01/09~~00:03:00!!{0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата создания которых меньше даты 2012/01/09 00:03:00
lists=%WL||test<3x!!2012/01/09~~00:03:00!!}0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата последнего доступа которых больше даты 2012/01/09 00:03:00
lists=%WL||test<3x!!2012/01/09~~00:03:00!!}0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата создания которых больше даты 2012/01/09 00:03:00
lists=%WL||test<3x!!2012/01/09~~00:03:00!!=0> ;; записать в буфер обмена пути выделенных объектов, только тех, дата последнего доступа которых равна дате 2012/01/09 00:03:00


15.

  Сравнение по содержимому бинарных данных файлов
Number :
  0 - включить файл, в бинарное содержимое которого не входит заданная строка.
  1 - включить файл, в бинарное содержимое которого входит заданная строка.
  2 - включить файл, в бинарное содержимое которого не входит заданная строка учитывая регистр.
  3 - включить файл, в бинарное содержимое которого входит заданная строка учитывая регистр.

  4 - включить файл, в бинарное содержимое которого не входит заданная строка регулярных выражений.
  5 - включить файл, в бинарное содержимое которого входит заданная строка регулярных выражений.

Symbol :
  j - проверяется бинарное содержимое файла.

Condition :
  Condition=Count!!String(!!Mode), где:
    Count - количество байтов для чтения. -1 - считываются данные всего файла.
    String - может включать:
      Строку бинарных данных. Пример: CFF0E8E2E5F2 (Привет).
      Текстовую строку. При этом прописывается Mode=1.
      При Number 4, 5 строка регулярных выражений, включающую бинарные данные.

Примечание:
  Нет

Примеры:

slist=%WL||test<0j!!-1!!11R1.163!!1> GLOBALSLIST<a> ;; из выделенных файлов получить список файлов, в содержимом которых нет фразы "11R1.163"
slist=%WL||test<1j!!-1!!11R1.163!!1> GLOBALSLIST<a> ;; из выделенных файлов получить список файлов, в содержимом которых есть фраза "11R1.163"
marks=1||test<0j!!-1!!Ламинация!!1> ;; выделить в активной панели файлы, в содержимом которых нет слова "Ламинация"
marks=1||test<1j!!-1!!Ламинация!!1> ;; выделить в активной панели файлы, в содержимом которых есть слово "Ламинация"
copys=%WL||"%t"//0||test<0j!!-1!!Ламинация!!1>||upd<3> ;; из выделенных файлов копировать в другую панель те, в содержимом которых нет слова "Ламинация"
copys=%WL||"%t"//0||test<1j!!-1!!Ламинация!!1>||upd<3> ;; из выделенных файлов копировать в другую панель те, в содержимом которых есть слово "Ламинация"


16.

  Сравнение свободный или заблокированный файл
Number :
  0 - включить не заблокированный файл.
  1 - включить заблокированный файл (занятый другой программой/процессом).

Symbol :
  u - проверяется занятость файла.

Condition :
  Нет

Примечание:
  Нет

Примеры:

ilist=%WL||test<0u!!> GLOBALILIST<a> ;; получить из выделенного список не заблокированных файлов

ilist=%WL||test<1u!!> GLOBALILIST<a> ;; получить из выделенного список заблокированных файлов


17.

  Проверка существования URL ссылки.
Number :
  0 - включить не существующий адрес ссылки.
  1 - включить существующий адрес ссылки.

Symbol :
  s - проверяется существования адреса ссылки.

Condition :
  Нет

Примечание:
  Нет

Примеры:

ilist=cliplist||test<0s!!> GLOBALILIST<a> ;; получить из списка ссылок буфера обмена адреса, которые не существуют

ilist=cliplist||test<1s!!> GLOBALILIST<a> ;; получить из списка ссылок буфера обмена адреса, которые существуют


18.

  Проверка существования пути символьных ссылок.
Number :
  0 - включить объект не являющийся символьной ссылкой.
  1 - включить объект являющийся символьной ссылкой.

  2 - включить объект являющийся символьной ссылкой на каталог.
  3 - включить объект являющийся символьной ссылкой на файл.

  4 - включить объект являющийся символьной ссылкой, абсолютный путь ссылки которого не существует.
  5 - включить объект являющийся символьной ссылкой, абсолютный путь ссылки которого существует.

  6 - включить объект являющийся символьной ссылкой на каталог, абсолютный путь ссылки которого не существует.
  7 - включить объект являющийся символьной ссылкой на каталог, абсолютный путь ссылки которого существует.

  8 - включить объект являющийся символьной ссылкой на файл, абсолютный путь ссылки которого не существует.
  9 - включить объект являющийся символьной ссылкой на файл, абсолютный путь ссылки которого существует.

  20 - включить файл, который не имеет жёстких ссылок.
  21 - включить файл, который имеет жёсткие ссылки.

Symbol :
  v - проверяется существования символьных ссылок.

Condition :
  Нет

Примечание:
  Нет

Примеры:

slist=%WL||test<0v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые не являются символьными ссылками
slist=%WL||test<1v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками
slist=%WL||test<2v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками на каталоги
slist=%WL||test<3v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками на файлы
slist=%WL||test<4v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками, абсолютный путь ссылки не существует
slist=%WL||test<5v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками, абсолютный путь ссылки существует
slist=%WL||test<6v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками на каталоги, абсолютный путь ссылки не существует
slist=%WL||test<7v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками на каталоги, абсолютный путь ссылки существует
slist=%WL||test<8v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками на файлы, абсолютный путь ссылки не существует
slist=%WL||test<9v!!> GLOBALSLIST<a> ;; из выделенных объектов получить те, которые являются символьными ссылками на файлы, абсолютный путь ссылки существует

slist=%WL||test<20v!!> GLOBALSLIST<a> ;; из выделенных файлов получить те, которые не имеют жёсткие ссылки
slist=%WL||test<21v!!> GLOBALSLIST<a> ;; из выделенных файлов получить те, которые имеют жёсткие ссылки


19.

  Проверка существования пути объекта.
Number :
  0 - включить путь не существующего объекта.
  1 - включить путь существующей папки.
  2 - включить путь существующего файла.
  3 - включить путь существующего объекта.

Symbol :
  k - проверяется существования пути объекта.

Condition :
  Нет

Примечание:
  Нет

Примеры:

ilist=cliplist||test<0k!!> GLOBALILIST<a> ;; получить из списка путей буфера обмена пути, которые не существуют

ilist=cliplist||test<3k!!> GLOBALILIST<a> ;; получить из списка путей буфера обмена пути, которые существуют


20.

  Проверка информации с помощью параметра info
Number :
    0 - включать данные, в которых заданное значение Value не равно условию Condition.
    1 - включать данные, в которых заданное значение Value равно условию Condition.
    2 - включать данные, в которых заданное значение Value меньше условия Condition.
    3 - включать данные, в которых заданное значение Value больше условия Condition.

    8 - включать данные, в которых полученное значение Info входит в условие регулярного выражения Value.
    9 - включать данные, в которых полученное значение Info не входит в условие регулярного выражения Value.

Symbol :
  w - проверка информации с помощью параметра info.

Condition :
  Condition=Value!!Info, где:
    Value - значение с которым сравнивается информация.
      если в начале Value прописаны два апострофа, то информация будет взята из параметра info, пример: ``f11::
    Info - параметры как в info, где :: будут заменены текущими данными для получения информации для сравнения.
      
Примечание:
  Нет

Примеры:

moves=%WL||D:\mp3\||test<0w!!!!m20:://AND//0w!!!!m21::> ;; переместить из выделенных mp3 в папку D:\mp3\ только те, которые имеют Имя Исполнителя и Название
moves=%WL||D:\mp3\||test<1w!!!!m20:://OR//1w!!!!m21::> ;; переместить из выделенных mp3 в папку D:\mp3\ только те, которые не имеют Имя Исполнителя или Название

moves=%WL||D:\mp3\||test<0w!!!!m20::> ;; переместить из выделенных mp3 в папку D:\mp3\ только те, которые имеют Имя Исполнителя
moves=%WL||D:\mp3\||test<1w!!!!m20::> ;; переместить из выделенных mp3 в папку D:\mp3\ только те, которые не имеют Имя Исполнителя

slist=%WL||test<2w!!2!!i10::> GLOBALSLIST<a> ;; из выделенных значков ICO получить те, у которых количество иконок меньше 2-х
slist=%WL||test<3w!!1!!i10::> GLOBALSLIST<a> ;; из выделенных значков ICO получить те, у которых количество иконок больше 1


  


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru