View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 17, 2016 12:44 Post subject: |
|
|
Mailk wrote: | Впринципе очень интересен | Кто?
Mailk wrote: | но нужно вписывать в него данные, те что показывает хотя бы проводник в свойствах файла | Куда - в него?
Lev
На тот момент не качалось.
Доработать плаг нет желания? Есть ещё необходимость не писать Content = при наличии возвращённого значения из процедуры/функции. И ещё было бы крайне полезно добавить возможность взаимодействия плагина с сохранённым в сборке интерпретатором, а не из system32. Ключик в ini c поддержкой переменной среды не помешал бы. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Wed Feb 17, 2016 17:56 Post subject: |
|
|
Пока доработки плагина на длительной паузе. Только todo иногда дополняю.
Что за интерпретатор в сборке? wscript/cscript.exe? Есть машины без них?
Что за переменные среды? %TEMP%, %PATH% или ещё чего-то? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 17, 2016 18:05 Post subject: |
|
|
Lev wrote: | wscript/cscript.exe? Есть машины без них? | Да, а какой же ещё? Дело не в "без них", а в необходимости подключать сторонние компонеты без прямой реги.
Переменная - %COMMANDER_PATH% (для указанного ключа). _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Wed Feb 17, 2016 21:52 Post subject: |
|
|
Flasher wrote: | Есть возможность временно перевести винду в английскую локаль (можно точку восстановления сделать)? Хотел бы список (не картинку) всех необходимых полей с возвращаемыми данными в свойствах этих файлов увидеть. Заодно стоит проверить данный скрипт на предмет полезности данных SW-файлов. |
Вот этот скрипт. Я про него. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 17, 2016 21:57 Post subject: |
|
|
В приведённой цитате нетрудно обнаружить знак вопроса и пожелание до указания на скрипт (никакой это не плагин).
Если скрипт никаких требуемых данных не приводит, то чем он может быть интересен? Ничем. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Wed Feb 24, 2016 19:20 Post subject: Помощь в скрипте и плагине |
|
|
Нужен инженерный документо-оборот что то типа PLM/PDM система.
Смысл в том чтобы выводить "коментарии" в колонке и через разные
файлы (обозначение.ion, наименование.ion, класификатор .ion). ТИП
Фаила о котором заносится коментарии значении не имеет. то есть
коментарии разные в разных файлах ion об одном файле. Пластина.dwg и о нем "коментарии" в файлах обозначение.ion, наименование.ion, класификатор.ion ....ion
и они содержат разную инфу по одному этому файлу которая отдельно выводится и сортируется. ну как в базе об файле разные значения хранятся. только тут в разных об одном..
Я испраил скрипт выводит "грин" но не дает в столбце.. понимаю что непреднозначен, можно поправить ?!!! Помогите...
Hidden text Code: |
'==========================================================================================
' Массовое Добавление\Удаление\Замена комментария (descript.ion), переданного параметром
'
' В качестве параметров указать:
' %L "%Pdescript.ion" {Комментарий} {Режим работы с комментарием} {Режим места комментария}
' Если в качестве комментария передать "", то для комментария будет использоваться
' содержимое буфера обмена
' Режим работы с комментарием:
' 1 - Добавление
' 2 - Удаление
' 3 - Инверсия
' Режим места комментария (можно не указывать, по умолчанию - 1):
' 1 - Начало
' 2 - Конец
' 3 - Полностью
' Пример параметров для добавления комментария "####" в начало:
' %L "%Color.ion" "green" 1 1
'==========================================================================================
Option Explicit
If WScript.Arguments.Count < 4 Then
MsgBox "Неправильно указаны параметры", _
vbOKOnly + vbExclamation, _
"Работа с комментариями"
WScript.Quit
End If
If WScript.Arguments(3) < 1 Or WScript.Arguments(3) > 3 Then
MsgBox "Неправильно указан режим работы с комментарием", _
vbOKOnly + vbExclamation, _
"Работа с комментариями"
WScript.Quit
End If
Dim Mode2
If WScript.Arguments.Count < 5 Then
Mode2 = 1
Else
Mode2 = WScript.Arguments(4)
End If
If Mode2 < 1 Or Mode2 > 3 Then
MsgBox "Неправильно указан режим места комментария", _
vbOKOnly + vbExclamation, _
"Работа с комментариями"
WScript.Quit
End If
Dim CommLabel
CommLabel = WScript.Arguments(2)
If CommLabel = "" Then
Dim TCS
Set TCS = CreateObject("TCScript.Helper ")
CommLabel = TCS.GetTextFromClip
Set TCS = Nothing
If CommLabel = "" Then
MsgBox "Не определен комментарий", _
vbOKOnly + vbExclamation, _
"Работа с комментариями"
WScript.Quit
End If
CommLabel = Replace(CommLabel, vbNewLine, " ")
CommLabel = Replace(CommLabel, Chr(10), " ")
CommLabel = Replace(CommLabel, Chr(13), " ")
End If
Dim FSO, oTextFile, OTF, oCommFile
Dim AllText, FileName, CommFile, BegFile, BegFileComm, EndFileComm
Dim Mode1, CompareComm, FindComm, LenC
Set FSO = CreateObject("Scripting.FileSystemObject")
CommFile = WScript.Arguments(1)
Mode1 = WScript.Arguments(3)
LenC = Len(CommLabel)
If FSO.FileExists(CommFile) Then
Set oTextFile = FSO.OpenTextFile(CommFile, 1)
On Error Resume Next 'Игнорируем ошибку, если файл пустой
AllText = oTextFile.ReadAll
On Error GoTo 0
oTextFile.Close
Else
On Error Resume Next
Set oTextFile = FSO.CreateTextFile(CommFile)
If Err.Number = 0 Then
oTextFile.Close
Set oCommFile = FSO.GetFile(CommFile)
oCommFile.Attributes = oCommFile.Attributes Or 2 'Hidden
Set oCommFile = Nothing
AllText = ""
Else
MsgBox "Создание " & CommFile & " невозможно из-за ошибки:" & vbNewLine & Err.Description, _
vbOKOnly + vbCritical, _
"Работа с комментариями"
Err.Clear
Set oTextFile = Nothing
Set FSO = Nothing
WScript.Quit
End If
End If
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not OTF.AtEndOfStream
FileName = OTF.ReadLine
If FSO.FileExists(FileName) Then
FileName = FSO.GetFile(FileName).Name
Else
FileName = FSO.GetFolder(FileName).Name
End If
If InStr(1, FileName, " ", 1) > 0 Then
FileName = """" & FileName & """"
End If
BegFile = InStr(1, vbNewLine & AllText, vbNewLine & FileName & " ", 1)
If BegFile > 0 Then 'Есть какой-то комментарий для текущего файла
BegFileComm = BegFile + Len(FileName) + 1 'Позиция начала комментария
EndFileComm = InStr(BegFileComm, AllText & vbNewLine, vbNewLine, 1) 'Конец комментария + 1
If EndFileComm - BegFileComm < LenC Then 'Существующий комм. не равен указанному
FindComm = 0
Else 'Поверяем дальше
CompareComm = Mid(AllText, BegFileComm, EndFileComm - BegFileComm)
If StrComp(CompareComm, CommLabel, 1) = 0 Then 'Существующий комм. = указанному
FindComm = 2
Else
Select Case Mode2
Case 1 'Начало
If InStr(1, Left(CompareComm, LenC), CommLabel, 1) > 0 Then
FindComm = 1
Else
FindComm = 0
End If
Case 2 'Конец
If InStr(1, Right(CompareComm, LenC), CommLabel, 1) > 0 Then
FindComm = 1
Else
FindComm = 0
End If
Case 3 'Полностью
FindComm = 0
End Select
End If
End If
If FindComm = 0 Then 'Существующий комм. не равен указанному
If Mode1 = 1 Or Mode1 = 3 Then 'Добавляем комментарий
Select Case Mode2
Case 1 'Начало
AllText = Left(AllText, BegFileComm - 1) & CommLabel & " " & Mid(AllText, BegFileComm)
Case 2 'Конец
AllText = Left(AllText, EndFileComm - 1) & " " & CommLabel & Mid(AllText, EndFileComm)
Case 3 'Полностью
AllText = Left(AllText, BegFileComm - 1) & CommLabel & Mid(AllText, EndFileComm)
End Select
End If
If Mode1 = 2 Or Mode2 = 3 Then 'Удаление комментария полностью
AllText = DelLine(AllText, BegFile, EndFileComm)
End If
ElseIf FindComm = 1 Then 'Указанный комментарий есть
If Mode1 = 2 Or Mode1 = 3 Then 'Удаляем комментарий
Select Case Mode2
Case 1 'Начало
AllText = Left(AllText, BegFileComm - 1) & Mid(AllText, BegFileComm + LenC + 1)
Case 2 'Конец
AllText = Left(AllText, EndFileComm - LenC - 2) & Mid(AllText, EndFileComm)
Case 3 'Полностью
AllText = DelLine(AllText, BegFile, EndFileComm)
End Select
End If
If Mode1 = 1 Or Mode2 = 3 Then 'Добавление комментария полностью
AllText = Left(AllText, BegFileComm - 1) & CommLabel & Mid(AllText, EndFileComm)
End If
Else 'FindComm = 2 - Существующий комментарий равен указанному
If Mode1 = 2 Or Mode1 = 3 Then 'Удаляем комментарий
AllText = DelLine(AllText, BegFile, EndFileComm)
End If
End If
' Обработаем после удаления
If Mode1 = 2 Or (Mode1 = 3 And (FindComm = 1 Or FindComm = 2)) Then
'Удаление лишних пробелов
If Instr(BegFile, AllText, FileName & " ", 1) > 0 Then
AllText = Left(AllText, BegFileComm - 2) & Mid(AllText, BegFileComm)
End If
'Удаление пустых комментариев
If Instr(BegFile, AllText & vbNewLine, FileName & " " & vbNewLine) > 0 Then
AllText = Left(AllText, BegFile - 1) & Mid(AllText, BegFile + Len(FileName & " " & vbNewLine))
End If
'Удаление лишних концевых строк
If Right(AllText, Len(vbNewLine)) = vbNewLine Then
AllText = Left(AllText, Len(AllText) - Len(vbNewLine))
End If
'Повторим, на всякий случай
If Right(AllText, Len(vbNewLine)) = vbNewLine Then
AllText = Left(AllText, Len(AllText) - Len(vbNewLine))
End If
If Len(AllText) = 0 Then
FSO.DeleteFile(CommFile)
End If
End If
If Len(AllText) > 0 Then
On Error Resume Next
Set oTextFile = FSO.OpenTextFile(CommFile, 2)
If Err.Number = 0 Then
oTextFile.Write AllText
oTextFile.Close
Else
MsgBox "Запись в " & CommFile & " невозможна из-за ошибки:" & vbNewLine & Err.Description, _
vbOKOnly + vbCritical, _
"Работа с комментариями"
Err.Clear
Exit Do
End If
On Error GoTo 0
End If
Else 'Нет комментариев для файла
If Mode1 = 1 Or Mode1 = 3 Then 'Добавляем комментарий
On Error Resume Next
Set oTextFile = FSO.OpenTextFile(CommFile, 8, 2)
If Err.Number = 0 Then
If (Right(AllText, Len(vbNewLine)) <> vbNewLine) And (AllText <> "") Then
oTextFile.WriteLine
AllText = AllText & vbNewLine
End If
oTextFile.Write FileName & " " & CommLabel
oTextFile.Close
AllText = AllText & FileName & " " & CommLabel
Else
MsgBox "Запись в " & CommFile & " невозможна из-за ошибки:" & vbNewLine & Err.Description, _
vbOKOnly + vbCritical, _
"Работа с комментариями"
Err.Clear
Exit Do
End If
On Error GoTo 0
End If
End If
Loop
OTF.Close
Set oTextFile = Nothing
Set oCommFile = Nothing
Set OTF = Nothing
Set FSO = Nothing
WScript.Quit
Function DelLine(FullText, BegLine, EndLine)
If BegLine > Len(vbNewLine) Then
DelLine = Left(FullText, BegLine - 1 - Len(vbNewLine)) & Mid(FullText, EndLine)
ElseIf EndLine - 1 + Len(vbNewLine) <= Len(FullText) Then
DelLine = Left(FullText, BegLine - 1) & Mid(FullText, EndLine + Len(vbNewLine))
Else
DelLine = ""
End If
End Function
|
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10252 Location: Россия, Саратов
|
(Separately) Posted: Wed Feb 24, 2016 19:59 Post subject: |
|
|
Mailk
Коды такого размера надо убирать под спойлеры. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Feb 24, 2016 20:41 Post subject: |
|
|
Да этот скрипт (1, 2, 3) вообще сюда не надо выкладывать. Править его под SCP - глупость.
Да и SCP тут не нужен по сути. Есть tc|Комментарий|Pег.выраж.
Хотя нет, я с покраской спутал, тут же нет шаблонов, и строки типа [=tc.Комментарий.Рег.выраж:...] тут не поддерживаются. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Wed Feb 24, 2016 23:05; edited 1 time in total |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Wed Feb 24, 2016 22:35 Post subject: |
|
|
А можно реализовать информация об одном файле в нескольких разных файлах и чтоб в колонки сортировать? Вторая есть проблема в Script.WDX постоянно падает при большом количестве файлов! очень раздрожвет. Может есть каой то вариант по другому? Без коментариев в в ТХТ или другой формат? просто смысл простой вводить паетно данные о файле в разные файлы с разными названиями.. и желательно потом поиск и тд. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Feb 25, 2016 00:34 Post subject: |
|
|
Можно и без файлов: В NTFS_diz.ini
Code: | [Options]
KeepTime=0
[Streams]
0=Название
1=Назначение
2=Тип
..
9=Другая инф-я | Перезапуск ТС, присваивание через cm_SetAttrib и вывод в колонки. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Mailk
Joined: 16 Jan 2010 Posts: 251
|
(Separately) Posted: Fri Feb 26, 2016 14:05 Post subject: Спасибо за идею !!! |
|
|
Да как то не ожидал что проще не куда ! Очень порадовало. Простота и совместимость с другими WDX, плюс возможность создавать шаблоны для внесения изменений !
Total commander PDM / PLM удобней нет и врятли будет !
|
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Fri May 13, 2016 15:59 Post subject: |
|
|
Появился новый плагин WinScript Advanced Content Plugin (x86\x64), функционал аналогичен, автор заверяет о совместимости сo скриптами для Script Content Plugin.
P.S. Забавное совпадение, буквально неделю назад общался с Lev на предмет вероятности появления х64-версии... |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri May 13, 2016 16:09 Post subject: |
|
|
Quote: | * Unlimited number of simultaneously working scripts in one group of columns;
* Stable and fast
Code: | [Script]
ActiveScripts=CheckEncoding|Signature|MyScript |
| Ю-ху-ху! Не прошло и 88 лет. )))
Skif_off, спасибо за новость! _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Gentoo69
Joined: 11 Jul 2010 Posts: 68
|
(Separately) Posted: Wed May 18, 2016 23:36 Post subject: |
|
|
Создал тему здесь. |
|
Back to top |
|
|
Lev
Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Tue May 31, 2016 19:53 Post subject: |
|
|
Очень хорошо! :)
А то я пару-тройку недель назад заморочился над доделками своего плагина и застрял на поисках компилятора под x64, а теперь и возиться не надо. |
|
Back to top |
|
|
|
|
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
|