Страница 1 из 16
Script Content Plugin
Добавлено: Пт окт 07, 2005 16:25
Lev
Script Content Plugin
Позволяет самому писать vbs и js скрипты для получения и обработки информации из файла или для обработки его имени и помещения результата в колонку плагина. Может быть полезен для получения полезной информации из файла или для сортировки файлов в желаемом порядке
Сам плагин очень сырой, но, тем не менее...
Задаем вопросы и обмениваемся скриптами
Параллельная англоязычная тема
Добавлено: Сб май 13, 2006 13:28
Batya
Было бы неплохо не копировать плагин для нескольких результатов, а сделать у одного плагина несколько результатов (колонок).
Например, это можно реализовать, если в script.ini в разделе [Script] переменную Section задавать в виде:
Код: Выделить всё
[Script]
Section=Defaults|Extension|AddZeros|exe-arc up|js
А результат работы скрипта давал бы не одну колонку Result, а несколько колонок, названных по имени секции.
Добавлено: Сб май 13, 2006 16:50
funduk
Имхо это будет удобнее, но всё равно нельзя сделать количество полей потенциально неограниченным. Пяти имхо достаточно.
Добавлено: Сб май 13, 2006 17:23
Batya
Ну нет!
5 - это крайне мало. 50 - вот это наш размерчик

Добавлено: Пн май 15, 2006 15:23
Lev
Ух, ты! Тема ожила, я думал и оно и ненужно никому
Итого:
в ToDo листе
выводить из одного скрипта не одну колонку, а несколько - result1, result2... (планировал 10 шт.)
включение в скрипт подпрограмм (Sub, Function)
каждый скрипт в свою колонку - не хочется
НО: я не запускал дельфи уже пол-года и не знаю когда ещё запущу
PS - секция Defaults - информационная, ни на что не влияющая, в Script.ini её можно не включать
Добавлено: Пн май 15, 2006 15:41
Batya
Ура, автор присутствует

Что ж, надеемся, что хорошее начинание не будет "почить в бозе".
Тут еще
LocKtaR-o-DarK заметил, что память не очищается. В частности, после работы поиска вот с этис
скриптом.
Добавлено: Пн май 15, 2006 15:52
Lev
Тут вам не повезло, автор - ленивый script kiddy

посмотреть попробую, обещать ничего не могу
зы. и именовать колонку из плагина, я тоже пока не умею
Добавлено: Пн май 15, 2006 16:26
Batya
Lev
Жаль
В свою очередь могу постараться почаще прибегать к помощи твоего плагина и почаще выкладывать какие-нибудь скрипты под него.
Прояви, пожалуйста (ну пожааалуйста

), немного активности, и, глядишь, плагин заживет активной жизнью! К моим скриптам народ, видимо, уже привык

. Настала пора приучить теперь к твоему плагину

Добавлено: Пн май 15, 2006 17:36
Lev
Могу, для начала, перезапостить сюда интересные скрипты с оф. форума. Автор большинства скриптов van Dusen.
Добавлено: Пн май 15, 2006 18:27
Batya
ОК.
Выкладывай, только переведи описание.
Приведу еще одну ссылку на
использование твоего плагина.
Еще я когда-то приводил скрипт, показывающий 16-тиричное значение первого символа файла. Но позже уже увидел, что аналогичный скрипт есть на оф. форуме. Поэтому свою ссылку искать не буду. Приведи скрипт с оф. форума.
Добавлено: Вт май 16, 2006 00:23
Lev
Ну, начнём потихоньку
ricobautsch
Небольшой скрипт, который может быть полезен для поиска файлов с определенной сигнатурой (первые байты в файле).
Код: Выделить всё
'signatur.vbs by ricobautsch
'Script for Script Content Plugin (c)Lev Freidin, 2005
'http://www.totalcmd.net/plugring/script_wdx.html
'http://wincmd.ru/plugring/script_wdx.html
'
'Этот скрипт показывает первые 10 байт файла в тектовом или hex представлении
'может быть полезен для поиска файлов с определенной сигнатурой
'This script returns the first 10 bytes in the file as text or hex-representation.
'Could be usefull for example to search for files with a specified signatur
const bHex = True
const nCharCnt = 10
Set fso = CreateObject("Scripting.FileSystemObject")
Set oTextStream = fso.OpenTextFile(filename)
If not oTextStream.AtEndOfStream Then
content_str = oTextStream.Read(nCharCnt)
If bHex Then
For i=1 To Len(content_str)
If content <> "" Then
content = content & " "
End If
hex_value = Hex(Asc(Mid(content_str,i,1)))
content = content & string(2 - len(hex_value), "0")
content = content & hex_value
Next
Else
content = content_str
End If
End If
oTextStream.Close
Для установки количества отображаемых байт/букв и переключения режимов отображения меняйте константы bHex и nCharCnt
Добавлено: Вт май 16, 2006 00:27
Lev
Найти и пометить файлы с одинаковыми именами
Исходное сообщение -
http://www.ghisler.ch/board/viewtopic.php?t=8844
Peter
В списке есть исходные данные (например: 1.doc, 2.do3, 3.doc, 4.doc) и их производные (1.pdf, 2.pdf, 3.pdf, 5.pdf).
Требуется выполнить несколько задач:
a) Найти все doc-файлы, к которым нет соответствующего pdf (напр. 4.doc)
b) Найти все pdf-файлы, к которым нет соответствующего doc (напр. 5.pdf)
c) Найти все pdf-файлы старее, чем исходный doc, и соответственно устаревшие
----
van Dusen
Код: Выделить всё
'Script for Script content Plugin
' van Dusen
' (c)Lev Freidin, 2005
' http://www.totalcmd.net/plugring/script_wdx.html
' http://wincmd.ru/plugring/script_wdx.html
Dim fso, f1, f2
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile(filename)
sBaseIst = lcase(fso.GetBaseName(filename))
sExtIst = lcase(fso.GetExtensionName(filename))
sDateModF1 = f1.DateLastModified
sExtSoll1 = "doc"
sExtSoll2 = "pdf"
Const ForReading = 1
SELECT Case sExtIst
Case sExtSoll1
sResult = sExtSoll2 & " - сответствующий файл"
If fso.FileExists(sBaseIst & "." & sExtSoll2) Then
Set f2 = fso.GetFile(sBaseIst & "." & sExtSoll2)
sTimeDiff = DateDiff("n", sDateModF1, f2.DateLastModified)
If sTimeDiff < 0 Then
sResult = "2: " & sResult & " устарел"
Else
sResult = "1: " & sResult & " свежий"
End If
sResult = sResult & " (" & sTimeDiff & " Min. Diff.)"
Else
sResult = "3: " & sResult & " отсутствует"
End If
Case sExtSoll2
If fso.FileExists(sBaseIst & "." & sExtSoll1) Then
Set f2 = fso.GetFile(sBaseIst & "." & sExtSoll1)
sTimeDiff = DateDiff("n", sDateModF1, f2.DateLastModified)
If sTimeDiff > = 0 Then
sResult = "2: Файл устарел"
Else
sResult = "1: Свежий файл"
End If
sResult = sResult & " ("& sTimeDiff & " Min. Diff.)"
Else
sResult = "3: "& sExtSoll1 &" - соответствующий файл отсутствует"
End If
Case Else
sResult = ""
End SELECT
content = sResult
Set fso=nothing
Set f1=nothing
Set f2=nothing
Лично мне разница во времени не понадобилась, я натравливал скрипт на папку с кучей jpg фоток и соответствующими им обтравленными tif'ами, понравилось

Добавлено: Ср май 17, 2006 21:34
Lev
Относительный путь к файлу
Для использования в режиме BranchView (Ctrl+B), для работы требуется TCScript.Helper
В обсуждении на оф. форуме были и другие варианты
Код: Выделить всё
'relpath.vbs - Show relative path to file in the Branch view (Ctrl+B)
'Script for Script Content Plugin (c)Lev Freidin, 2005
'http://www.totalcmd.net/plugring/script_wdx.html
'http://wincmd.ru/plugring/script_wdx.html
Dim fso, f, tcs
Set fso = CreateObject("Scripting.FileSystemObject")
Set tcs = CreateObject("TCScript.Helper")
f = tcs.GetSrcPath
relpath = left(filename, len(filename) - len(fso.GetFileName(filename)))
relpath = Mid(relpath, Len(f)+1)
content = relpath
Set fso=nothing
Set tcs=nothing
Добавлено: Ср июл 12, 2006 01:13
funduk
Добавлено: Чт авг 24, 2006 18:43
Lev
Шоб не потерялось
Пометить файлы/папки
[off]
funduk Хорошо бы в дополнение к ссылкам давать краткое описание[/off]