WSH + TCScript = мощное средство автоматизации TC!

Форум о самом популярном файловом менеджере Total Commander

Сообщение Ciber SLasH » Вс дек 26, 2004 2:07 am

2Volniy:
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->Напрямую, ессно, нельзя. Во-первых в скрипт уже без двойных %% попадает, а после ExpandEnviromentString вместо %commander_path% появляется путь к папке Тотала и тогда все ОК.
<!--QuoteEnd--></div><!--QuoteEEnd-->
Нет ты не понял. Я в ТС в параметрах запуска скрипта писал "%%Commander_Path%%" и ессесно в скрипт уже попадало, как "%Commander_Path%", но если не использовать команду "ExpandEnviromentString", а сразу пытаться запустить команду, то возникала ошибка.
А я вставил в скрипт (в последней версии) разбивку команды на 2 части, чтобы потом можно было получить абсолютный путь к upx'у "E:\Program Files\Archives\UPX\upx.exe", а не относительный "E:\Program Files\Total Commander\..\..\Archives\UPX\upx.exe".
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->Кстати, про Quit это тоже из того справочника? Что там писано про это?
<!--QuoteEnd--></div><!--QuoteEEnd-->
Нет, это где-то в сети увидел, уже и не помню где.
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0

Сообщение Volniy » Вс дек 26, 2004 10:08 am

Для того, чтобы вызвать метод Quit у объекта, он там доолжен быть реализован (как, например, у объектов Word.Application и Excell.Application, примеры с которыми ты, наверное, и видел где-то в скриптах).

Насчет абсолютного и относительного путей к файлу, вот, к примеру:
Код: выделить все
object.FileExists(filespec)
filespec
Required. The name of the file whose existence is to be determined. A complete path specification (*!*either absolute or relative*!*) must be provided if the file isn't expected to exist in the current folder.
Теперь ты, я думаю, понял, о чем я: нет никакого смысла преобразовывать относительный путь в абсолютный, раз методы FileSystemObject отлично понимают (проверялось на практике) и то, и другое.

Предлагаю свернуть эту дискуссию, лучше давай напишем какие-либо новые полезные скрипты, а то уже уходим куда-то в теорию и далеко от TC. Хотя и теория не помешает. Вот <a href='http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en' target='_blank'> туточки на мелкософтном сайте</a> лежит полноценная дока (в CHM) по WSH, и там подробненько и JScript, и VBScript и FileSystemObject, и и все остальное. Must have.
Volniy
Ст. лейтенант
 
Сообщений: 121
Зарегистрирован: Сб ноя 22, 2003 11:42 pm
Пункты репутации: 0

Сообщение SAM » Чт дек 30, 2004 12:07 pm

<a href='http://total.altruistic.ru/wsh/cpl_filter.zip' target='_blank'>Простенький скрипт</a>(по мотивам обсуждений) но удобный.

Нажимаем на созданную нами кнопочку - в текущей панели открываются все компоненты настройки Windows с подсказочками напротив каждого элемента.
Нажимаем еще раз - возвращаемся к прежней панели.

<span style='font-size:8pt;line-height:100%'>Замечания:
1. Пользователям Win9x не нужен - у них все на панели управления
2. Volniy не придирайся к нестандартному решению с именем секции. Так - ихмо - оригинальнее и не надо операций чтения из файла (только запись). Ты же видал как ассемблерный код в VB втыкают?</span>
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение Volniy » Сб янв 01, 2005 10:42 am

<!--QuoteBegin-SAM+Dec 30 2004, 14:07--><div class='quotetop'>QUOTE(SAM @ Dec 30 2004, 14:07)</div><div class='quotemain'><!--QuoteEBegin-->2. Volniy не придирайся к нестандартному решению с именем секции. Так - ихмо - оригинальнее и не надо операций чтения из файла (только запись).
<!--QuoteEnd--></div><!--QuoteEEnd-->
Главное, чтобы тебе самому нравилось <!--emo&:)-->[img]style_emoticons/<#EMO_DIR#>/smile.gif[/img]<!--endemo-->.
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->Ты же видал как ассемблерный код в VB втыкают?<!--QuoteEnd--></div><!--QuoteEEnd--> Вообще-то анальные копуляции меня как-то не очень-то интересуют <!--emo&;)-->[img]style_emoticons/<#EMO_DIR#>/wink.gif[/img]<!--endemo-->

В любом случае, я не помню, чтобы там комплилятор редактировал исходный код. Или ты о каком-то мне неизвестном способе?
Volniy
Ст. лейтенант
 
Сообщений: 121
Зарегистрирован: Сб ноя 22, 2003 11:42 pm
Пункты репутации: 0

Сообщение Evgenych » Вс мар 06, 2005 10:43 pm

Scriptomatic 2.0: Readme
The world-famous Scriptomatic 2.0 is the utility that writes WMI scripts for you. Not only that, but it teaches you the fundamental concepts behind writing WMI scripts for yourself. If you’re new to Scriptomatic, you’ll definitely want to try it out and see what you’ve been missing. If you’re already familiar with Scriptomatic 1.0 you know how useful this tool can be. Version 2.0 is even better; it has a lot of new features, including the ability to create scripts in multiple scripting languages.

<a href='http://www.microsoft.com/technet/scriptcenter/tools/scripto2.mspx#EDAA' target='_blank'>http://www.microsoft.com/technet/scriptcen...ipto2.mspx#EDAA</a>
Интересная вещь.
Evgenych
Прапор
 
Сообщений: 66
Зарегистрирован: Пт июл 11, 2003 3:38 pm
Пункты репутации: 0

Сообщение Ghost_KU » Чт мар 10, 2005 11:18 pm

Недавно пришлось писать один скриптик и возникло два вопроса.

1. Пытаюсь с помощью TCScript получить в свой скрипт имя файла под курсором. Сначала копирую его в буфер потом вставляю из буфера. Все хорошо если в имени нет кирилических букв если они есть то вместо них идут знаки вопроса. Как это можно пофиксить?

2.Как монжо из скрипта вызвать внешнюю программу В Частности консольный архиватор rar?
Заранее Спасибо.
Ghost_KU
Ефрейтор :)
 
Сообщений: 13
Зарегистрирован: Пт окт 31, 2003 2:06 pm
Пункты репутации: 0

Сообщение Egorus » Вт мар 22, 2005 5:05 pm

Помогите написать срипт
Нужно добиться изменения даты последнего доступа к файлам (Last Access Date), при этом чтобы дату и время можно было задать из появляющегося окна, по типу

----------------------------------------------------------------
[x] Created Date [xxxxxxxxxxxxxxx]
[x] LastAccessed Date [xxxxxxxxxxxxxxx]
[x] LastModified Date [xxxxxxxxxxxxxxx]
----------------------------------------------------------------

где [x], чекбоксы, [xxxxx] - поле для ввода даты

Я с окнами вообще не работал да и с самим vbs'ом, подскажите где копать
Egorus
Ст. сержант
 
Сообщений: 38
Зарегистрирован: Чт июн 05, 2003 10:03 am
Пункты репутации: 0

Сообщение Batya » Ср мар 23, 2005 8:40 am

Ghost_KU
1. В параметрах вызова скрипта (в TC под кнопкой или пунктом меню "Пуск") пропиши %N, а в скрипте:
Код: выделить все
FileName = WScript.Arguments(0)

2.
Код: выделить все
Set WS  = CreateObject("WScript.Shell")
Command = "....\rar.exe"
WS.run chr(34) & Command & chr(34)

chr(34) - это кавычки на случай, если в Command содержатся пробелы.
Последний раз редактировалось Batya Ср мар 23, 2005 8:41 am, всего редактировалось 1 раз.
Batya
Ст. лейтенант
 
Сообщений: 146
Зарегистрирован: Вт апр 29, 2003 8:28 am
Откуда: Москва
Пункты репутации: 0

Сообщение mirosnik » Пн апр 11, 2005 8:40 pm

Скачал TCScript, версия beta3bis. Запускаю и вижу диалог "TC Script Helper Class". Однако, когда запускаю "Total Commander Restarter" (TC_Restart.vbs), получаю сообщение "Отсутствует TCScript". Помогите пожалуйста.
mirosnik
Призывник
 
Сообщений: 3
Зарегистрирован: Пн апр 11, 2005 8:22 pm
Пункты репутации: 0

Сообщение SAM » Вт апр 12, 2005 5:16 am

Egorus
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->object.DateCreated
object.DateLastAccessed
object.DateLastModified
<!--QuoteEnd--></div><!--QuoteEEnd-->
Все перечисленные свойства - <span style='color:Red'>Read Only</span>
Так что средствами WSH менять эти значения не получится.

mirosnik
Сделай скриптик в одну строчку - если сработает молча, то значит Helper установлен корректно, если нет - переставь его по новой.
Код: выделить все
Set TCS = CreateObject("TCSCRIPT.Helper")


Да, еще: <a href='http://total.altruistic.ru/wsh/tcwshelp_b7.zip' target='_blank'>Версия поновее</a>
Последний раз редактировалось SAM Вт апр 12, 2005 5:22 am, всего редактировалось 1 раз.
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение mirosnik » Вт апр 12, 2005 6:40 pm

<!--QuoteBegin-SAM+Apr 12 2005, 09:16--><div class='quotetop'>QUOTE(SAM @ Apr 12 2005, 09:16)</div><div class='quotemain'><!--QuoteEBegin-->
mirosnik
Сделай скриптик в одну строчку - если сработает молча, то значит Helper установлен корректно, если нет - переставь его по новой.
Код: выделить все
Set TCS = CreateObject("TCSCRIPT.Helper")


Да, еще: <a href='http://total.altruistic.ru/wsh/tcwshelp_b7.zip' target='_blank'>Версия поновее</a>
[right][snapback]171483[/snapback][/right]
<!--QuoteEnd--></div><!--QuoteEEnd-->

Огромное спасибо Вам, уважаемый SAM!
mirosnik
Призывник
 
Сообщений: 3
Зарегистрирован: Пн апр 11, 2005 8:22 pm
Пункты репутации: 0

Сообщение mirosnik » Вт апр 19, 2005 11:54 am

Коллеги!

Как открыть файл в листере?. Приведённый ниже код не работает.

Код: выделить все
Set TCS = CreateObject("TCScript.Helper")
TCS.SetTextToClip """" & "C:\Documents and Settings\Igor\My Documents\Misc.txt" & """"
TCS.SendCommand "cm_LoadSelectionFromClip"
TCS.SendCommand "cm_List"


Почему? Вообще, как передавать аргументы к коммандам ТС? Заранее благодарен.
mirosnik
Призывник
 
Сообщений: 3
Зарегистрирован: Пн апр 11, 2005 8:22 pm
Пункты репутации: 0

Сообщение SAM » Вт апр 19, 2005 4:37 pm

mirosnik

Скрипт твой сработает только тогда, когда он будет находится в том же каталоге что и <span style='color:purple'>Misc.txt</span>
(команда <span style='color:purple'>cm_LoadSelectionFromClip</span> может выделять только видимый файл)

По идее должна бы сработать команда
<span style='color:purple'>TCS.SendCommand """cm_List ""C:\Documents and Settings\Igor\My Documents\Misc.txt"""</span>
но не срабатывает <!--emo&:(-->[img]style_emoticons/<#EMO_DIR#>/sad.gif[/img]<!--endemo--> (Увы, не поддерживает текущая версия TCScript обработку аргументов)

Если взглянуть <a href='http://total.altruistic.ru/all_cmd.htm' target='_blank'>сюда</a>, то увидим что у ТС всего-навсего <span style='color:red'>7</span> команд, понимающих параметры <!--emo&:(-->[img]style_emoticons/<#EMO_DIR#>/sad.gif[/img]<!--endemo-->
Даже такие команды как cm_srcactivatetab*, cm_SrcCustomView* и т.п. Гислер предпочел плодить в диком количестве, вместо того чтобы задать их как команду+параметр <!--emo&:(-->[img]style_emoticons/<#EMO_DIR#>/sad.gif[/img]<!--endemo-->
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение SAM » Пн май 16, 2005 5:18 am

Несколько ссылок:
<a href='http://total.altruistic.ru/wsh/sample.rar' target='_blank'>Пяток простеньких скриптов</a> (из пакета eXtended Pack)

Импортные коллекции: <a href='http://www.robvanderwoude.com' target='_blank'>1</a> и <a href='http://cwashington.netreach.net/depo/default.asp?topic=repository&ScriptType=vbscript' target='_blank'>2</a>
Последний раз редактировалось SAM Пн май 16, 2005 5:19 am, всего редактировалось 1 раз.
SAM
Старшина
 
Сообщений: 45
Зарегистрирован: Пн май 24, 2004 5:33 am
Пункты репутации: 0

Сообщение itc » Вт май 31, 2005 1:24 pm

Писал для себя один скрипт, возникла проблема. Вот кусок кода:

Код: выделить все
Dim C, E, testINIfile, msglog, sparam, sprop,n

testINIfile = GetPath & "test.ini"
C = TCS.INIRead(testINIfile, "test")
msglog="<table border=1>"
n=0

For Each E In C
   n=n+1
      msglog = msglog & "<tr><td>" & n & "</td><td>" & E & "</td><td>" & TCS.INIRead(testINIfile, "test", E) & "</td></tr>"
Next
 
msglog=msglog & "</table>"


Пояснение: читаем раздел из ини-файла и (пока) просто пишем имеющиеся значения в виде таблички с целью дальнейшего отображения в своей форме в IE.

Проблема заключается вот в чем:
После того, как мы обратились в последнему элементу E, в переменную msglog больше ничего не пишется.

сродержимое test.ini:
Код: выделить все
[test]
A=flopp
B=zz


получившийся msglog:
Код: выделить все
<table border=1><tr><td>1</td><td>A</td><td>flopp</td></tr><tr><td>2</td><td>B


Использовался TC WSH Helper beta7 c WSH v5.6 на WinXP Pro SP2

Это проблема WSH, TCHelper`а или моих рук?
itc
Рядовой
 
Сообщений: 8
Зарегистрирован: Сб май 24, 2003 9:17 pm
Пункты репутации: 0

Пред.След.

Вернуться в Total Commander

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron