View previous topic :: View next topic |
Author |
Message |
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Sep 03, 2016 12:45 Post subject: |
|
|
Line:2
Char:2
Error: Object required: 'CreatedObject(...).NameSpace(...)
Code: 800A01A8
Не заморачивайся, не выходит и ладно. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Sep 03, 2016 12:53 Post subject: |
|
|
Dimsok
А путь-то верный прописал? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Sep 03, 2016 13:08 Post subject: |
|
|
Просто c:
Да и вообще как-то странно они открываются через TC4Shell. Словари в корне архива, а открывается сначала папка с: хоть dz может совем в др месте находиться. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Sep 03, 2016 13:33 Post subject: |
|
|
Вот и я про то же. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sat Sep 03, 2016 19:02 Post subject: |
|
|
Dictzip по умолчанию почему-то так архивирует. Вот сделал кнопку, чтобы файл сразу в корне был:
Code: | TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=" %# in
('type %WF') do "%%COMMANDER_PATH%%\Plugins\exe\DictZipUI\dictzip.exe" -k "%%#" && move "%p%%~n#.dsl.dz" "%t"
%COMMANDER_PATH%\Totalcmd.exe,21
Compress dsl dicts with dictzip to other panel
1
-1
|
Запаковал таким образом dsl и xdxf для тестов:
https://yadi.sk/d/SmFt53QUujVp3
Если что-то получится, перепаковать таким образом все имеющиеся словари не сложно. Главное, чтоб Goldendict их заново индексировать не вздумал, вот это долго будет. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Sep 03, 2016 20:24 Post subject: |
|
|
Dimsok wrote: | Если что-то получится | Да не в "получится" дело, а в копировании больших словарей в Temp, если такие имеются. Это всё весьма долго, и прогресс на Vista+ не убирается.. Для мелких словарей (до 4 Мб) можешь попробовать: Dicts.vbs Code: | Dim FSO, FileName, ShA, Ext, Arch, Items, F, Temp, File, N,_
Stream, Reg, Enc, Content, Content1, Content2, Exec, Check
Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FileExists(FileName) Then WScript.Quit
Set ShA = CreateObject("Shell.Application")
Ext = LCase(FSO.GetExtensionName(FileName))
If Ext = "dz" Then
Set Arch = ShA.NameSpace(FileName)
If Not Arch.Self.IsFolder Then WScript.Quit
Ext = LCase(FSO.GetExtensionName(FSO.GetBaseName(FileName)))
Set Items = ShA.NameSpace(FileName).Items
Items.Filter 73952, "*"
Set F = ShA.NameSpace(Items.Item(0).Path)
Do While F.Self.IsFolder
Set F = ShA.NameSpace(F.Items.Item(0).Path)
Loop : Temp = ShA.NameSpace(CreateObject("WScript.Shell")._
ExpandEnvironmentStrings("%TEMP%")).Self.Path & "\"
File = Temp & F : If Not FSO.FileExists(File) Then _
ShA.NameSpace(Temp).CopyHere F, 20
Else File = FileName End If
N = 0 : If Ext = "dsl" Then N = -1
Set Stream = FSO.OpenTextFile(File,,,N)
Set Reg = New Regexp : Reg.IgnoreCase = True
If Ext = "dsl" Then
Call DSL("NAME", Content)_
("INDEX_LANGUAGE", Content1)("CONTENTS_LANGUAGE", Content2)
ElseIf Ext = "xdxf" Then
Reg.Pattern = ".*encoding=""(.*)"".*" : Check = 1
Enc = Reg.Execute(Stream.ReadLine)(0).Submatches(0)
Reg.Pattern = "^<xdxf lang_from=""(\w+)"" lang_to=""(\w+)"" "
Stream.SkipLine : Set Exec = Reg.Execute(Stream.ReadLine)(0)
Content1 = Exec.Submatches(0) : Content2 = Exec.Submatches(1)
Reg.Pattern = "^<full_name>(.+)</full_name>"
With CreateObject("ADODB.Stream")
.Open : .Charset = "windows-1251" : .WriteText Stream.ReadLine
.Position = 0 : .Charset = Enc
Content = Reg.Execute(.ReadText)(0).Submatches(0) : .Close
End With
End If : Stream.Close : Set Stream = Nothing
If IsObject(F) Then
FSO.GetFile(File).Delete
FSO.GetFolder(Temp & "TC4Shell").Delete
End If : Set FSO = Nothing
Function DSL(Ins, Cont)
Reg.Pattern = "^#" & Ins & "\s+""(.*)""$"
Cont = Reg.Execute(Stream.ReadLine)(0).Submatches(0)
Set DSL = GetRef("DSL")
End Function |
Понятно, что vbs-ini-ключи нужно перед этим обратно закомментировать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sun Sep 04, 2016 12:37 Post subject: |
|
|
Некоторые отображают норм, некоторые С:\Docume~. Впрочем, это неважно - даже не на самых больших словарях повисает надолго, так что первый вариант скрипта без Tc4Shell более пригодный. Если бы ещё все процессы 7z.exe и more.com завершались бы, было вообще хорошо. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sun Sep 04, 2016 16:40 Post subject: |
|
|
А саму Dictzip нельзя использовать? При декомпрессии там есть возможность stdout. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Sep 04, 2016 18:57 Post subject: |
|
|
Я тогда ещё пробовал, утилита пакует файл, никак не риагируя на ключ -с. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sun Sep 04, 2016 19:35 Post subject: |
|
|
При распаковке реагирует. Там указано, что этот ключ только при распаковке действует. А зачем для извлечения строк нужно паковать? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Sep 04, 2016 19:52 Post subject: |
|
|
Да не суть важно, он не умеет читать текст, он просто архив как бинарник выводит. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sun Sep 04, 2016 20:05 Post subject: |
|
|
-d "*.dz" -c
Отображает вполне себе текстовое содержимое в консоль. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Sep 04, 2016 20:13 Post subject: |
|
|
Выводит строки такого плана: ╤Д╨╛╤А╤Б-╨╝╨░╨╢╨╛╤А. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Sun Sep 04, 2016 20:16 Post subject: |
|
|
Не знаю, у меня норм отображается. В консоли правда русские не видны, но перенаправление в файл выдаёт корректный текст. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Sep 04, 2016 20:32 Post subject: |
|
|
SHA у dictzip.exe такой?: ad160360c5c762f4906ffcda5d43a010be408b09
Вот кнопка:
Code: | TOTALCMD#BAR#DATA
cmd /k "%COMMANDER_PATH%\Utils\dictzip.exe" -d
%N -c
%COMMANDER_EXE%,2
Вывод с пом. dictzip |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
|