Описание команды


icofs

Назначение папкам иконок.

icofs=ListFolders||Level||FileIcon, ||foldicon<>, ||foldex<>, ||<sicon>, ||abspath<>, ||Dialogs, ||progres<>, ||upd<>, ||test<>

Параметры:

1-й обязательный параметр.
ListFoldersСписок папок. Возможные варианты:
  • %WL - список выделенных папок.
  • FolderList - путь к файлу списка полных путей папок %P%N см. Дополнение №7.
  • cliplist - список полных путей папок из буфера обмена.
  • PS<> - список объектов каталога. см. Дополнение №22.
  • FOLDC<> - список объектов содержимого каталогов. см. Дополнение №22.
  • FOLDM<> - список выделенных объектов и всех объектов в подпапках. см. Дополнение №22.
  • LISTF<> - список заданных объектов. см. Дополнение №22.
  • [tc] - различные списки файловых панелей ([tc=TL]) см. Дополнение №12.
  • GLOBALNAME - данные, переданные глобальными переменными. см. Дополнение №23.
2-й обязательный параметр.
LevelГлубина вложенности.
  0 - текущие папки списка.
  1, 2, ... - глубина вложенности.
 -1 - все подпапки.
 -2 - текущие папки списка и все подпапки.
3-й обязательный параметр.
FileIconИконка. Параметр FileIcon(,Number), где:
  FileIcon - путь к значку/библиотеки значков. Если clpget, то путь берётся из буфера обмена.
  Number - номер значка (по умолчанию 0).

Так же поддерживается NameExtList(,Number,Mode,Hidden) поиск значка в самой папке, где:
  NameExtList - список имён и расширений прописанных через разделитель |
    Разделитель обязателен даже для одного типа.
    Пример: exe|ico  ;  Пример: favicon.ico|ico|exe  ;  Пример: exe|
    Передаётся первый найденный файл 1-го заданного имени/типа.
    Если такого файла нет, то ищется файл 2-го, 3-го ... имени/типа.
    Если файл не найден, то значок не устанавливается.
  Number [необязательный] номер значка (по умолчанию 0).
  Mode [необязательный] режим записи:
    0 - в Desktop.ini прописывается путь значка (по умолчанию).
    1 - в Desktop.ini прописывается только имя значка.
  Hidden [необязательный] режим установки атрибута:
    0 - не устанавливать значку атрибут "Срытый" (по умолчанию).
    1 - устанавливать значку атрибут "Срытый".
Дополнительные параметры:
foldicon<>Копирование иконки.
foldicon<Name(//Hidden//Mode)>.
Параметр означает, что перед назначением заданная иконка будет скопирована в папку(и), где:
  Name - имя иконки в папке. Если x, то имя берётся из (заданной в 3-м параметре) иконки или библиотеки.
    Предыдущая иконка с таким именем заменяется.
  Hidden [необязательный]:
    1 - устанавливает атрибут "Скрытый" для скопированной иконки.
    0 - не устанавливает атрибуты.
  Mode - [необязательный] если в папке уже есть иконка:
    1 - удаляет предыдущую иконку, если она находится в папке (по умолчанию).
    2 - при совпадении имени дублирует существующую в папке иконку с добавлением счётчика.
    3 - при совпадении имени копирует заданную иконку именем существующей с добавлением счётчика.
foldex<>Установка иконок. Параметр foldex<Number(|Mode)> позволяет устанавливать папкам значки, в зависимости от имени или содержащихся в них типов файлов, где:
  Number - номер секции [IconForFolders1], [IconForFolders2] ... [IconForFoldersN] в TCIMG.ini, в которых прописываются пути к значкам и ассоциированные с ними имена папок и типы файлов.
  Mode [необязательный] режим обработки:
    1 - заменять Desktop.ini, если есть в папке.
    0 - не заменять (по умолчанию).
<sicon>Выбор значка. см. Дополнение №18.
abspath<>Перевод пути. Параметр abspath<Number> при создании Desktop.ini позволяет перевести абсолютный путь в относительный, где:
  Number
  1 - путь преобразуется, относительно Total Commander.
  7 - путь преобразуется, относительно TCIMG.
DialogsДиалоги. см. Дополнение №18
  Описание
Различные параметры диалогов.
  [input] - диалог ввода информации в InputBox.
  [richinput] - диалог ввода информации в RichInputBox.
  [combo] - диалог выбора информации в ComboBox.
  [group] - диалог выбора информации в GroupBox.
  [check] - диалог выбора информации в CheckBox.
  [edits] - диалог выбора информации в EditBox.
  [sfold] - выбор каталога.
  [zfold] - выбор каталогов.
  [sopen] - выбор файла для открытия.
  [ssave] - выбор файла для сохранения.
  [sicon] - диалог просмотра и выбора значка.
  [msgbx] - окно сообщения MsgBox.
  [updwn] - диалог выбора числовой информации UpDown.
  [image] - диалог выбора изображения.
  [elect] - диалог выбора файлов и папок.
...и другие диалоги.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет запущен прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять (по умолчанию, т.е. если параметр не прописан, то панели не обновляются).
test<>Проверка прохождения объекта под определённые условия. см. Дополнение №16.

Примечания:

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALICOFSмассив выходных данных (список путей папок, которым был установлен значок)
GLOBALICOFS1массив выходных данных (список путей значков, которые были установлены папкам)
GLOBALICOFS2массив выходных данных (список путей Desktop.ini созданных в папках)

Аналог команды для одного объекта icoft

См. также:

exicn, exics, icache, icldf, iclds, icodf, icods, icoft, icomf, icomm, iconf, iconn, iconv, icovw, lbicl

Примеры:
 Как создать кнопку?

anf2d="C:\IconLibraryPaths.txt"||1||^^@@f13::<+> lends=$GLOBALANF2D1||@CRLF!!<+> dilog=[group=BOX_DLL] iends=@<sicon=GLOBALGROUP1<1>|32|1|0|1> icofs=%WL||0||GLOBALIENDS<1> rstart ;; назначить выделенным папкам значок из библиотеки значков выбранной из списка "C:\IconLibraryPaths.txt" с последующим перезапуском TC (значок и библиотека значков выбирается в диалоговых окнах)

delss=FOLDC<%WL//1//1//*ini|*ico|*chm//1>||1 pause=500 icofs=%WL||0||favicon.ico tcimg=$cm540 ;; удалить из выделенных папок - все файлы, кроме chm ini и ico + назначить иконку папке под курсором

global icofs=%WL||-1||favicon.ico|ico|exe,0,1 GLOBALICOFS<a> GLOBALICOFS1<a> GLOBALICOFS2<a> ;; назначить выделенным папкам и их подпапкам первый встретившийся favicon.ico, если нет, то любой ico файл или exe и получить различные итоговые списки

icofs=%WL||0||%%COMMANDER_PATH%%\Wcmicons.dll,[input=BOX32] ;; назначить выделенным папкам значок из библиотеки Wcmicons.dll (номер значка вводится в диалоге)

icofs=%WL||0||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<Name!!1> ;; назначить выделенным папкам 15-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico + скрыть значок)

icofs=%WL||0||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<Name> ;; назначить выделенным папкам 15-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico)

icofs=%WL||0||%%COMMANDER_PATH%%\Wcmicons.dll,38||foldicon<Name!!1!!1> ;; назначить выделенным папкам 38-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico + скрывается + предыдущая иконка удаляется, если она находится в папке)

icofs=%WL||0||%T%M ;; назначить выделенным папкам значок в другой панели (или библиотеку с первым значком)

icofs=%WL||0||%T%M||abspath<1> ;; назначить выделенным папкам значок в другой панели (или библиотеку с первым значком); перевести абсолютный путь в относительный

icofs=%WL||0||[sicon] ;; назначить выделенным папкам значок, выбор значка и библиотеки значков в диалогах

icofs=%WL||0||<sicon=%%COMMANDER_PATH%%\wciconex.dll>||foldicon<x!!1!!1> ;; заменить (установить) иконку для выделенных папок на новую с окном для выбора + присвоить ей атрибут скрытый.

icofs=%WL||0||<sicon=%%WINDIR%%\System32\shell32.dll> ;; назначить выделенным папкам значок, выбор значка из библиотеки shell32.dll (вид значка в окне просмотра 32х32)

icofs=%WL||0||c:\test.icl ;; назначить выделенным папкам первый значок из библиотеки c:\test.icl

icofs=%WL||0||c:\test.icl,5 ;; назначить выделенным папкам пятый значок из библиотеки c:\test.icl

icofs=%WL||0||c:\test.icl,8||0 ;; назначить выделенным папкам восьмой значок из библиотеки c:\test.icl (не заменять Desktop.ini в папках, если таковой существует)

icofs=%WL||0||exe|ico ;; назначить выделенным папкам значок, находящийся в самой папке (первый встретившийся exe или ico файл)

icofs=%WL||0||exe|ico|icl,0,1 ;; назначить выделенным папкам значок, находящийся в самой папке (первый встретившийся exe или ico файл) (в Desktop.ini прописывается только имя значка)

icofs=%WL||0||favicon.ico ;; назначить выделенным папкам значок favicon.ico (только имя), находящийся в каждой папке

icofs=%WL||0||favicon.ico|ico|exe,0,1 ;; назначить выделенным папкам значок, находящийся в самой папке (первый встретившийся favicon.ico, если нет, то любой ico файл или exe)

icofs=%WL||0||foldex<1|1>||progres<>||upd<1> ;; назначить выделенным папкам значок по имени или содержимому папки с прогресс баром (заменять если есть в папке Desktop.ini)

icofs=%WL||0||foldex<1> ;; назначить выделенным папкам значок по имени или содержимому папки

icofs=%WL||0||foldex<1>||progres<>||upd<1> ;; назначить выделенным папкам значок по имени или содержимому папки с прогресс баром

icofs=%WL||0||ico|ico,0,1,1 ;; назначить выделенным папкам значок, находящийся в самой папке (первый встретившийся ico файл) и установить ему атрибут "скрытый"

icofs=%WL||-1||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<Name!!1> ;; назначить подпапкам выделенных папок 15-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico + скрыть значок)

icofs=%WL||-1||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<Name> ;; назначить подпапкам выделенных папок 15-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico)

icofs=%WL||-1||%T%M ;; назначить всем подпапкам выделенных папок значок в другой панели (или библиотеку с первым значком)

icofs=%WL||1||%T%M ;; назначить подпапкам 1-го уровня выделенных папок значок в другой панели (или библиотеку с первым значком)

icofs=%WL||-1||[sicon] ;; назначить всем подпапкам выделенных папок значок, выбор значка и библиотеки значков в диалогах

icofs=%WL||1||[sicon] ;; назначить подпапкам 1-го уровня выделенных папок, выбор значка и библиотеки значков в диалогах

icofs=%WL||-1||<sicon=%%COMMANDER_PATH%%\AkelExtImage.dll|-1|0|1> ;; назначить всем подпапкам выделенных папок значок, выбор значка из библиотеки AkelExtImage.dll (модернизированный диалог)

icofs=%WL||-1||<sicon=%%COMMANDER_PATH%%\AkelExtImage.dll|48> ;; назначить всем подпапкам выделенных папок значок, выбор значка из библиотеки AkelExtImage.dll (вид значка в окне просмотра 48х48)

icofs=%WL||1||<sicon=%%COMMANDER_PATH%%\Wcmicons.dll|16> ;; назначить подпапкам 1-го уровня выделенных папок, выбор значка из библиотеки Wcmicons.dll (вид значка в окне просмотра 16х16)

icofs=%WL||-2||%%COMMANDER_PATH%%\Icons\Icc.ico||foldicon<Name> ;; назначить выделенным папкам и их подпапкам значок Icc.ico (значок копируется в каждую папку - имя Name.ico)

icofs=%WL||-2||%%COMMANDER_PATH%%\Icons\Icc.ico||foldicon<x> ;; назначить выделенным папкам и их подпапкам значок Icc.ico (значок копируется в каждую папку - имя Icc.ico)

icofs=%WL||-2||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<Name!!1> ;; назначить выделенным папкам и их подпапкам 15-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico + скрыть значок)

icofs=%WL||-2||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<Name> ;; назначить выделенным папкам и их подпапкам 15-й значок из библиотеки Wcmicons.dll (значок копируется в каждую папку - имя Name.ico)

icofs=%WL||-2||%%COMMANDER_PATH%%\Wcmicons.dll,15||foldicon<x> ;; назначить выделенным папкам и их подпапкам 15-й значок Wcmicons.dll,15 (значок копируется в каждую папку - имя Wcmicons.ico)

icofs=%WL||-2||%T%M||foldicon<Name!!1>||progres<> ;; назначить выделенным папкам и их подпапкам значок в другой панели отображением прогресса баром (значок копируется в каждую папку - имя Name.ico + скрыть значок)

icofs=%WL||-2||clpget||foldicon<x> ;; назначить выделенным папкам и их подпапкам значок из буфера обмена (значок копируется в каждую папку - имя берётся из имени значка)

itray=3 sends=-1??-1||formt<lin44,lin60,lin61,lin62,lin37,1> wlist=$GLOBALSENDS||formt<lin59,lin57> slist=$GLOBALSENDS||formt<lin58,lin57> downl="%p"//1||$GLOBALSENDS||pause<1-2>||progres<>||convert<#Hmd5> pause=500 renms=$GLOBALDOWNL||extplus<> lists=$GLOBALRENMS iconv=$GLOBALRENMS||"%p":://1//(.*)(\w:.*\\)([^\\]*)\.(.*)//$1$3||32 xlist=$GLOBALICONV||##<info=o76:://> renms=$GLOBALICONV||list<$GLOBALSLIST>||rflag<1> pause=500 renms=$GLOBALXLIST||list<$GLOBALWLIST> delss=$GLOBALLISTS||1 slist=FOLDC<$GLOBALRENMS//1//0//*.ico//0>||##<info=o75:://> pause=500 icofs=$GLOBALSLIST||0||ico,0,1 attrb=FOLDC<$GLOBALSLIST//1//0//*.ico//0>||+HS!!0||upd<1> ;; создание каталогов и назначение им иконок из списка ссылок в буфере

itray=3 sends=-1??-1||formt<lin44,lin60,lin61,lin62,lin37,1> wlist=$GLOBALSENDS||formt<lin59,lin57> slist=$GLOBALSENDS||formt<lin58,lin57> downl="%p"//1||$GLOBALSENDS||pause<1-2>||progres<>||convert<#Hmd5> pause=500 renms=$GLOBALDOWNL||extplus<> lists=$GLOBALRENMS iconv=$GLOBALRENMS||"%p":://1//(.*)(\w:.*\\)([^\\]*)\.(.*)//$1$3||32 xlist=$GLOBALICONV||##<info=o76:://> renms=$GLOBALICONV||list<GLOBALSLIST<t>>||rflag<1> pause=500 renms=$GLOBALXLIST||list<GLOBALWLIST<t>> delss=$GLOBALLISTS||1 slist=FOLDC<GLOBALRENMS<t>//1//0//*.ico//0>||##<info=o75::> pause=500 icofs=GLOBALSLIST<t>||0||ico,0,1 attrb=FOLDC<GLOBALSLIST<t>//1//0//*.ico//0>||+HS!!0||upd<1> ;; создание каталогов и назначение им иконок из списка ссылок в буфере

sends=@<sicon=[combo=Выбор~значка||Копировать~~путь~~значка~~в~~БО:||Wcmicons.dll|User.dll|TCIMG.dll||343||117||1||1]|32|1|0|1> icofs=%WL||0||GLOBALSENDS<1> rstart ;; назначить выделенным папкам значки выбранные в диалоге


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