MultiArc
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 30, 31, 32  :| |:
Total Commander -> Плагины Total Commander

#466:  Author: Orion9 PostPosted: Sat Mar 02, 2024 00:25
    —
Mellomann
Если нужны только просмотр и распаковка, то Total, вроде, и так это делает, разве нет? А на запаковку можно просто отдельную кнопку сделать.

#467:  Author: Skif_off PostPosted: Sat Mar 02, 2024 17:06
    —
Помимо того, что 7-Zip 24.01 научился распаковывать Zstandard, есть плагины для 7-Zip, в частности Modern7z добавляет поддержку Zstandard (Автор тут публикует новости (там он известен как Aniskin, здесь - как небезысвестный Dec), так что Total7Zip вполне годный вариант.

#468:  Author: Mellomann PostPosted: Sun Mar 17, 2024 01:31
    —
Orion9
Да, я знаю, что уже завезли чтение. Мне интересно именно для multiarc.wcx было. Вдруг кто игрался.

Skif_off
Так те форки 7zip играют в отсебятину, а не в соответствие стандартам. Они пытаются пихать zstd потоки в 7z или zip контейнеры, а не давать "обычный" zst файл на выходе.

#469:  Author: Orion9 PostPosted: Sun Mar 17, 2024 12:57
    —
Quote:
Вдруг кто игрался.

Я игрался только с torrentcheck:
https://sourceforge.net/projects/torrentcheck/
Правда сам не знаю зачем Smile Но вдруг как пример кому-то пригодится:
Multiarc.ini
Code:
[Torrent]
Archiver=%COMMANDER_PATH%\Plugins\arc\torrent\tor.bat
Description=Torrent
Extension=torrent
ID=64 34 3A, 64 37 3A, 64 38 3A, 64 31 33 3A
IDPos=0
Start="---"
Format0="    +z+ n++"
List="%PQA %AQA %O %E2"
ExtractWithPath=
Debug=0
BatchUnpack=0

tor.bat
Code:
CHCP 65001

"%~dp0torrentcheck.exe"  -n -t %1 > "%TEMP%\1"
"%~dp0u82a.vbs"

TYPE "%TEMP%\2"

u82a.vbs
Code:

Private Const adReadAll = -1
Private Const adSaveCreateOverWrite = 2
Private Const adTypeBinary = 1
Private Const adTypeText = 2
Private Const adWriteChar = 0

Const SystemFolder = 1, TemporaryFolder = 2
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim fso: Set fso = CreateObject("Scripting.FileSystemObject")

Dim tempFolder: tempFolder = fso.GetSpecialFolder(TemporaryFolder)

Dim f, sFile

UTF8toANSI tempFolder & "\1", tempFolder & "\2"

Set f = fso.GetFile(tempFolder & "\2")

if f.Size < 1024 Then

   sFile = fso.OpenTextFile(f, ForReading, False, TristateFalse).ReadAll

   if InStr(1, sFile, "---------------", 1) = 0 Then

      aLines = Split(sFile, vbNewLine)
     
      if Ubound(aLines) < 3 Then
         MsgBox sFile, vbOKOnly + vbCritical, "Ошибка"
         sOut = "    " & "0" & " ! Error torrentcheck !"
      else     
         a3 = Split(aLines(2), " : ")
         if Ubound(a3) > 0 Then
         
             a4 = Split(aLines(3), " : ")
             a42 = Split(a4(1), " ")
     
             sOut = "    " & a42(2) & " " & a3(1)
         else
            MsgBox sFile, vbOKOnly + vbCritical, "Ошибка"
            sOut = "    " & "0" & " ! Error torrentcheck !"         
         end if
             
      end if
     
      Set fo = fso.OpenTextFile(f, ForAppending, True, TristateFalse) 
      fo.Write vbNewLine     
      fo.Write "--- ----------- ---------------------------------------------------------------" & vbNewLine
      fo.Write sOut
      fo.Close
         
   End If

End If

Set fso = nothing

Private Sub UTF8toANSI(ByVal UTF8FName, ByVal ANSIFName)
   On Error Resume Next
   Dim strText
   With CreateObject("ADODB.Stream")
       .Open
       .Type = adTypeBinary
       .LoadFromFile UTF8FName
       .Type = adTypeText
       .Charset = "utf-8"
       strText = .ReadText(adReadAll)
       .Position = 0
       .SetEOS
       .Charset = "windows-1251"
       .WriteText strText, adWriteChar
       .SaveToFile ANSIFName, adSaveCreateOverWrite
       .Close 
        If Err.Number <> 0 Then
           fso.CopyFile tempFolder & "\1", tempFolder & "\2"
        End if
   End With
End Sub

В принципе, через перенаправление вывода в текстовый файл с последующим его парсингом в скрипте можно сформировать приемлимый для MultiArc вывод любой консольной утилиты (если не важны юникодные имена файлов). Но в вашем случае, мне кажется, не стоит заморачиваться, т.к. Total и так работает с zstd (судя по всему, через UNRAR.DLL, хотя могу и ошибаться).

#470:  Author: Mellomann PostPosted: Sun Mar 17, 2024 21:06
    —
Orion9
Работает через свои TCZSTD32.DLL и TCZSTD64.DLL, это я в курсе. Равно как и менюшки свои есть, их можно даже посмотреть в моей сборке (на рутрекере раздаю, но в этой теме приводить не буду, ибо варез).
Ну да ладно. Наверное, с облегчением можно констатировать факт, что сейчас уже действительно мало смысла прикручивать сабжа к мультиарку. Тем более, что сам zst формат не умеет ни в атрибуты, ни в >1 файла, ни во что вообще. Простой компрессор без контейнера, как это сделано во всяких там bzip, gzip, xz...

#471:  Author: Orion9 PostPosted: Mon Mar 18, 2024 00:56
    —
Раз пошла такая пьянка, завалялся у меня еще один пример, который так и не был доведен до ума. Так что сугубо в качестве примера: как заходить через ExifTool в файлы с мета-данными.

Multiarc.ini
Code:
[ExifTool]
Archiver=%COMMANDER_PATH%\Plugins\wlx\ExifToolView\exiftool.bat
Description=ExifTool
Extension=jpeg
ID=FF D8 FF, 38 42 50 53, 49 49, 4D 4D, 52 49 46 46, D0 CF 11 E0 A1 B1 1A, 4A 46 49 46, 89 50 4E 47, 47 49 46 38 39, 8B 4A 4E 47
IDPos=0
Start="---------------"
Format0=n++
List="%PQA %AQA %O"
ExtractWithPath=
Debug=0
BatchUnpack=0

exiftool.bat
Code:
SetLocal EnableExtensions
CHCP 866
cls

@echo off
@echo ---------------

"%~dp0exiftool.exe" -G -S %1



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 30, 31, 32  :| |:
Page 32 of 32

Powered by phpBB © 2001, 2005 phpBB Group