View previous topic :: View next topic |
Author |
Message |
Orion9
![](images/avatars/209030162965b6083922138.jpg)
Joined: 01 Jan 2024 Posts: 251
|
(Separately) Posted: Sat Mar 02, 2024 00:25 Post subject: |
|
|
Mellomann
Если нужны только просмотр и распаковка, то Total, вроде, и так это делает, разве нет? А на запаковку можно просто отдельную кнопку сделать. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Skif_off
Joined: 28 Nov 2012 Posts: 1232
|
(Separately) Posted: Sat Mar 02, 2024 17:06 Post subject: |
|
|
Помимо того, что 7-Zip 24.01 научился распаковывать Zstandard, есть плагины для 7-Zip, в частности Modern7z добавляет поддержку Zstandard (Автор тут публикует новости (там он известен как Aniskin, здесь - как небезысвестный Dec), так что Total7Zip вполне годный вариант. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mellomann
![](images/avatars/14348837614dcd6cb9f2ac0.jpg)
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Sun Mar 17, 2024 01:31 Post subject: |
|
|
Orion9
Да, я знаю, что уже завезли чтение. Мне интересно именно для multiarc.wcx было. Вдруг кто игрался.
Skif_off
Так те форки 7zip играют в отсебятину, а не в соответствие стандартам. Они пытаются пихать zstd потоки в 7z или zip контейнеры, а не давать "обычный" zst файл на выходе. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Orion9
![](images/avatars/209030162965b6083922138.jpg)
Joined: 01 Jan 2024 Posts: 251
|
(Separately) Posted: Sun Mar 17, 2024 12:57 Post subject: |
|
|
Quote: | Вдруг кто игрался. |
Я игрался только с torrentcheck:
https://sourceforge.net/projects/torrentcheck/
Правда сам не знаю зачем Но вдруг как пример кому-то пригодится:
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, хотя могу и ошибаться). |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Mellomann
![](images/avatars/14348837614dcd6cb9f2ac0.jpg)
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Sun Mar 17, 2024 21:06 Post subject: |
|
|
Orion9
Работает через свои TCZSTD32.DLL и TCZSTD64.DLL, это я в курсе. Равно как и менюшки свои есть, их можно даже посмотреть в моей сборке (на рутрекере раздаю, но в этой теме приводить не буду, ибо варез).
Ну да ладно. Наверное, с облегчением можно констатировать факт, что сейчас уже действительно мало смысла прикручивать сабжа к мультиарку. Тем более, что сам zst формат не умеет ни в атрибуты, ни в >1 файла, ни во что вообще. Простой компрессор без контейнера, как это сделано во всяких там bzip, gzip, xz... |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Orion9
![](images/avatars/209030162965b6083922138.jpg)
Joined: 01 Jan 2024 Posts: 251
|
(Separately) Posted: Mon Mar 18, 2024 00:56 Post subject: |
|
|
Раз пошла такая пьянка, завалялся у меня еще один пример, который так и не был доведен до ума. Так что сугубо в качестве примера: как заходить через 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 |
|
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
|
|
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
|