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 

Script Content Plugin
Goto page Previous  1, 2, 3, ... 14, 15, 16  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Wed Aug 30, 2006 11:32    Post subject: Reply with quote

Переименование файлов по содержимому (Исходная тема (Нем.))

Q. У меня есть автоматически пронумерованые текстовые файлы (1.txt, 2.txt,…), в первой строке содержимого которых в кавычках содержится их настоящее имя.
Могу ли я выкусить имена и переименовать их?

ricobautsch
Code:
Set fso = CreateObject("Scripting.FileSystemObject")
Set oTextStream = fso.OpenTextFile(filename)

If not oTextStream.AtEndOfStream Then
  s = oTextStream.ReadLine
  Pos1 = InStr(1, s, """")
  Pos2 = InStrRev(s, """")
  If (Pos1 > 0) and (Pos2 > Pos1) Then
    content = Mid(s, Pos1 + 1, Pos2 - Pos1 - 1)
  Else
    content = "not found"
  End If
End If

oTextStream.Close

Скрипт ищет в первой строке файла кавычки (“) и возвращает заключённый в них текст.

Теперь легко произвести мультипереименование.
Back to top
View user's profile Send private message
valexiev



Joined: 09 Feb 2007
Posts: 12

Post (Separately) Posted: Thu Feb 15, 2007 03:41    Post subject: Reply with quote

Еще желание для Script_WDX: как-то задавать ТИП результата. А то иначе Командир в фильтрах всегда третирует script.Result как стринг, и соответственно операции стринговъе (contains, equal, regexp). Иногда полезно чтоб результат бъл числовъм (<, >).

Вот например в моем скрипте для изчисления разницъ дат до "базового" файла я бъл заставлен добавить к результату значок (+) или (-) в зависимости от разницъ, чтоб можно бъло потом сделать фильтр для раскрашивания.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Thu Feb 15, 2007 19:29    Post subject: Reply with quote

Мне не нравятся результаты округления числовых значений возвращяемых контентными плагинами, поэтому в своих плагинах работающих только с числами, я всё равно возвращаю стринг. В ToDo занесу, сделать не обещаю.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Mar 26, 2007 10:53    Post subject: Reply with quote

Lev
Тут появилась идея - в параметре Script иметь возможность задавать параметры для скрипта, например:
Code:
Script=My_Script.vbs 1

Где 1 - режим работы скрипта. Будет актуально, если ты всё же сделаешь возможность возврата нескольких результатов одним плагином.
В принципе, можно и добавить какой-нибудь параметр, например, Params:
Code:
Script=My_Script.vbs
Params=1 2 3 4

или
Code:
Script=My_Script.vbs
Param1=1
Param2=2
Param3=3
Param4=4
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Mar 26, 2007 11:27    Post subject: Reply with quote

Еще идея - а почему имя инишника всегда script.ini? Если имя инишника делать по имени файла плагина, то в одной папке можно хранить несколько wdx-ов.

Или ...

Еще вариант - передавать в скрипт имя файла вызвавшего его плагина - для использования одного скрипта с несколькими файлами плагина. Т.е. в одной папке лежит один скрипт, один инишник и несколько wdx.


Новый скрипт - http://forum.wincmd.ru/viewtopic.php?p=26601#26601.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Mon Mar 26, 2007 16:26    Post subject: Reply with quote

Quote:
а почему имя инишника всегда script.ini?
При программировании, задал жестко. Потом люди захотели нескольких экземпляров плагина - придумал обходной путь, в код даже и не влезал...
переделать имхо несложно, но времени нет. На данный момент сделал поддержку sub's и function's в скрипте, потом стал привинчивать многоколоночность и попортил, то что было.
Про передачу параметров надо думать.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Fri Mar 14, 2008 18:50    Post subject: Reply with quote

Пример передачи параметров скрипту через интерфейс настройки колонок
Пример привинчивания AHK скрипта, в данном случае показывает информацию о фрагментированности файлов.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Wed Jun 04, 2008 14:44    Post subject: Reply with quote

На всякий случай - Поиск по списку.

Lev
Не мог бы ты прикрутить принудительный выход из скрипта, типа WScript.Quit? Просто, если возвращаемое значение уже определено, не очень красиво дальше вешать кучу if-ов.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Wed Jun 04, 2008 15:40    Post subject: Reply with quote

Не очень понял, давно ничего не скриптовал :(
а разве средствами vbs нельзя завершить скрипт или принудительно ускакать в его хвост?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Wed Jun 04, 2008 17:55    Post subject: Reply with quote

Lev
Пинудительное завершение WScript.Quit выдает ошибку, а принудительно ускакать можно только с помощью обрамляющих if-ов, отчего код не очень красиво выглядит.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Thu Jun 05, 2008 12:58    Post subject: Reply with quote

А обрамление в sub/end sub с exit sub в местах выхода - красиво? (то же самое для function)
А в основном блоке соответственно просто вызов процедуры/функции.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Thu Jun 05, 2008 15:46    Post subject: Reply with quote

Lev
Хм. Отлично!

Добавлено:
Переделал, с учетом новой идеи, скрипт поиска по списку. По-моему, так даже на порядок красивее Smile (функции можно называть по имени возвращаемой колонки):
Code:
'============================
' Колонка Result будет возвращать признак наличия файла\каталога в указанном файле-списке:
'   0 - файл\каталог НЕ найден; 1 - файл\каталог найден
'=== Изменяемые параметры ===
Const FileList = "C:\FileList.txt" 'Файл-список
'============================

Dim FSO
Const ForReading = 1
content = Result
Set FSO = Nothing

Function Result
  Dim List, dlm
  Result = 0
  Set FSO = CreateObject("Scripting.FileSystemObject")
  If Not FSO.FileExists(FileList) Then
    Exit Function
  End If
 
  On Error Resume Next
  List = FSO.OpenTextFile(FileList, ForReading, False).ReadAll
  If Err.Number <> 0 Then
    Exit Function
  End If
  On Error GoTo 0
 
  dlm = vbNewLine
  If InStr(1, dlm & List & dlm, dlm & filename & dlm, vbTextCompare) > 0 Then
    Result = 1
  End If
End Function

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
stal1n



Joined: 14 Jun 2008
Posts: 13

Post (Separately) Posted: Sat Mar 28, 2009 10:30    Post subject: Reply with quote

пожалуйста покажите кто-нибудь свой рабочий script.ini
я никак не могу настроить ни один скрипт Sad

если можно, напишите как правильно подключать скрипты
Back to top
View user's profile Send private message
stal1n



Joined: 14 Jun 2008
Posts: 13

Post (Separately) Posted: Fri Apr 03, 2009 12:37    Post subject: Reply with quote

неужели никто не поможет?
Back to top
View user's profile Send private message
Lev



Joined: 02 Mar 2005
Posts: 392

Post (Separately) Posted: Fri Apr 03, 2009 15:37    Post subject: Reply with quote

В поставке по-умолчанию вполне себе рабочий script.ini, в котором подключен скрипт ext.vbs, выдающий результаты для ps, eps, htm, url и т.п. файлов.
Методы установки, подключения и использования плагина практически не отличаются от остальных контентных wdx плагинов. Эти методы раскрыты в хелпе и неоднократно на страницах форума, переписывать их лишний раз и в эту тему не вижу необходимости.
Лучше опишите, что и как Вы делаете и что у Вас не получается.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, ... 14, 15, 16  Next
Page 2 of 16

 
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