Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Памятка новичку по скриптам (Читать обязательно!)

 
Post new topic   This topic is locked: you cannot edit posts or make replies.    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Nov 28, 2011 12:21    Post subject: Памятка новичку по скриптам (Читать обязательно!) Reply with quote

Информация для справки
Скрипт - это интерпретируемый (не требующий компиляции) код, записываемый в текстовый файл с соответствующим своему языку расширением. Скриптом может также называться сценарий или макрос.

Код скрипта на форуме как правило заключается в блок с зелёным шрифтом и надписью "Код:". Реже (в маленьких скриптах) выносится в блок цитаты для того, чтобы обозначить цветом куски, нуждающиеся в самостоятельной правке. Отсутствие обрамления скриптов в BB-коды крайне не приветствуется. Это касается как авторов скриптов, так и цитирующих.

Иногда файлы с большими кодами (например, формата hta) записываются в формате MIME/UUE. Для получения закодированного файла требуется скопировать данный код, сохранить в текстовом файле с соответствующим способу кодирования форматом, установить на нём курсор и воспользоваться встроенной в TC командой "Декодировать (MIME, UUE, XXE, BinHEX)...", вызвав её из меню "Файл" или с помощью команды cm_Decode любым из доступных способов.
Более быстрого способа можно добиться с использованием скриптов из специального топика.

Основной скриптовый язык данного раздела - VBScript (vbs). Также встречаются: JScript (js), язык командной оболочки cmd.exe в виде пакетных файлов (bat/cmd-сценариев) или кнопок, AutoIt (au3), AutoHotKey (ahk), язык сценариев PowerPro. Естественно, в потенциале допустим любой другой скриптовый язык (Windows Monad Shell (PowerShell), AngelScript, Perl, Python, Perfect Automation, FBSL, KIXtart, LangMF, Lua, newLISP, nnCron, OpenOject Rexx, Ruby, Tcl и т.д.).

Общие положения и рекомендации
Описание работы скрипта выносится в его шапку (верхние строки комментариев).
Если описание соответствует вашей задаче, то необходимо сделать следующее:
    1) Выделите код и скопируйте его содержимое в буфер обмена (Ctrl+C).
    2) Откройте текстовый редактор и вставьте текст из буфера (Ctrl+V), сохраните в нужном формате.
    3) Для формирования кнопки перетяните левой кнопкой мыши новый файл скрипта из файловой панели TC на панель инструментов (кнопок), учитывая, что при перетягивании переменная %COMMANDER_PATH% в случае расположения скрипта в структуре каталога ТС подставляется автоматически.
    4) Для формирования пользовательской команды откройте диалог "Выбор команды" (Cписок команд TC...), перейдите к одной из двух последних секций usercmd.ini или wcmd_lng.ini и по аналогии с диалогом "Настройка панели инструментов" в создаваемой по кнопке [Новая...] команде вставьте путь к файлу скрипта в первом поле.
    5) Если в шапке скрипта указаны параметры, откройте диалог настройки новой кнопки (через контекстное меню) или пользовательской команды и в поле "Параметры:" впишите заданные.
    Обращайте внимание на примеры, приведённые в скрипте, это облегчит вам понимание синтаксиса. Символы < > [ ] в описании зачастую являются обрамляющими тегами, указывающими на общий критерий записи. Например, частный случай параметра "<Путь к файлу-списку>" может быть таким: "C:\Мои Документы\Список.txt". Это означает, что при наличии пробелов путь заключается в кавычки. Это актуально и при переносе ТС в другую папку. Кавычки в любом случае не будут помехой. В поле "Команда" в первом пути с указанием переменных окружения TC кавычки можно опустить.
    6) Если в поле "Параметры" требуется вписать переменные окружения (там, где они допустимы), указывайте сдвоенный знак процента (пример: %%COMMANDER_EXE%%).
    7) В ряде скриптов рабочим каталогом служит папка активной панели, поэтому рекомендуется очищать поле "Путь запуска".
    8) Обращайте внимание на условие в шапке скрипта: иногда имеет место использование дополнительных расширяемых модулей (библиотек, плагинов, ActiveX-компонентов). В VBS-скриптах, к примеру, одним из таких компонентов является Script Helper for TC, часто встречаемый на нашем форуме.
Важно: Если работа скрипта подразумевает копирование, перемещение или удаление файлов, то перед постоянным использованием, дабы избежать плачевных результатов, настоятельно рекомендуется провести предварительное тестирование с группой утилизируемых (ненужных) файлов и папок.

Если скрипт не работает!
    1) Укажите в новом сообщении на это автору скрипта. Укажите ссылку на нужный пост, если скриптов в топике приведено более одного.
    Помните, что дублирование кода скрипта является избыточным цитированием, что запрещено правилами форума!
    2) Приведите код ошибки, скопированный из вылетевшего окошка по Ctrl+C. Желательно оставить только необходимое (текст сообщения и строку ошибки).
    3) Приведите строку параметров кнопки или пользовательской команды. Неправильная запись является наиболее частой проблемой.
    4) Приведите используемую версию ТС. Возможно, указанные параметры поддерживаются в более поздних версиях.
    5) Приведите версию вашей операционной системы с указанием архитектуры (x86/x64).
    6) Приведите версию интерпретатора. Узнать можно с помощью плагина просмотра FileInfo.
    Для VBScript нужно смотреть файл %WINDIR%\SYSTEM32\wscript.exe.

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

Обсуждение памятки — здесь.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group