Ist es an der Zeit TC 9.0 zu veröffentlichen?

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das geht leider nicht, weil einige der Entpacker nicht threadsicher sind. Und Archive können falsche Erweiterungen haben, z.B. 7zip-Dateien mit Endung ".zip".
Author of Total Commander
https://www.ghisler.com
User avatar
Brumm
Junior Member
Junior Member
Posts: 98
Joined: 2014-11-18, 11:00 UTC

Post by *Brumm »

Deswegen haben alle relevanten Archivformate eine "Magic Number" (bzw. ein "magisches Wort"), an der/dem man sie fehlerfrei erkennen kann.
Dateimanagerfetischist.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ja, aber wenn der user 10'000 Dateien zum Entpacken makriert hat, muss TC die alle erst mal aufmachen, um zu testen, ob es wirklich alles ZIPs sind. Einige Virenscanner scannen beim Öffnen den Inhalt der gesamten Archivdatei -> nicht praktikabel.
Author of Total Commander
https://www.ghisler.com
User avatar
Brumm
Junior Member
Junior Member
Posts: 98
Joined: 2014-11-18, 11:00 UTC

Post by *Brumm »

ghisler(Author) wrote:muss TC die alle erst mal aufmachen
Nee, nur die ersten vier bis acht Byte lesen.
Dateimanagerfetischist.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48166
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Dazu muss die Datei aber (via CreateFile) geöffnet werden, was den Virenscanner auf den Plan ruft.
Author of Total Commander
https://www.ghisler.com
User avatar
Brumm
Junior Member
Junior Member
Posts: 98
Joined: 2014-11-18, 11:00 UTC

Post by *Brumm »

Ah, ich bin da über den aktuellen Stand der Virenscanner nicht so informiert. Ich finde solche Software eher albern. Das ist natürlich doof. Also nix mit "kluger Erkennung".

Ich frage mich ja gerade, wie 7-zip das macht, wenn man da 6754534 Archive gleichzeitig entpacken will. Auch so?
Dateimanagerfetischist.
phantom
Power Member
Power Member
Posts: 671
Joined: 2003-11-21, 15:34 UTC

Post by *phantom »

Sie sprechen hier ein spezielles Problem bei ZIP-Archiven oder Archiven dessen Dateiendung nicht direkt auf den Archiv-Typ schliessen lässt an.

Wie sieht es denn bei eindeutigen Archiven aus? Ich habe ja speziell von WINRar-Archiven, in meinem Fall Volumen, gesprochen. Die Endung .RAR deutet doch eindeutig auf ein WINRar-Archiv hin.

Man könnte doch den Anwender vor eventuellen Fehlern warnen oder eine Bestätigen verlangen ob mehrere Archive im Hintergrund entpackt werden sollen.
User avatar
Brumm
Junior Member
Junior Member
Posts: 98
Joined: 2014-11-18, 11:00 UTC

Post by *Brumm »

phantom wrote:Die Endung .RAR deutet doch eindeutig auf ein WINRar-Archiv hin.
Nee, auf Rock am Ring. :lol:

Ernsthaft, ein einfaches Gegenbeispiel: Man nehme eine beliebige Textdatei und gebe ihr die Endung .rar.
Oder, noch etwas gemeiner, man nehme einen ausführbaren Schadcode für das aktuell benutzte Betriebssystem und gebe ihm die Endung .rar.

Namen sind Schall und Rauch. Eindeutig ist nur der "Header". - Wobei nicht mal das stimmt, weil Dateiformate manchmal so definiert sind, dass sie beliebige andere Dateitypen enthalten können.

Ich habe diesen Vortrag dazu gesehen. Sehr empfehlenswert.
Dateimanagerfetischist.
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

Die Frage ist halt, was passiert, wenn man dem entsprechenden Entpacker so eine Datei als Teil einer langen Liste zu entpackender Archiv mitreinlegt.
Ich würde sagen der Entpacker merkt das, notiert das und entpackt die nächste - sehe das Problem echt nicht. Mir ist nicht klar, warum das alles vorher geprüft werden soll.
Außerdem muss ja der (Ent-)Packer rausfinden, ob ein Archiv ist und nicht TC.
User avatar
milo1012
Power Member
Power Member
Posts: 1158
Joined: 2012-02-02, 19:23 UTC

Post by *milo1012 »

Lefteous wrote:Ich würde sagen der Entpacker merkt das, notiert das und entpackt die nächste - sehe das Problem echt nicht. Mir ist nicht klar, warum das alles vorher geprüft werden soll.
Außerdem muss ja der (Ent-)Packer rausfinden, ob ein Archiv ist und nicht TC.
So sehe ich das auch.
Das mit den Virenscannern kann ich aus persönlicher Erfahrung allerdings nachvollziehen.
Nur sollte das nicht der einzige Grund sein.

Dass das Ganze mit Packer-Plugins evt. Probleme wegen HG-Threads gibt ist doch auch kein Problem:
Einfach die Liste mit zu entpackenden Dateien nach Endungen analysieren.
Wenn nur "vermeintlich" interne/sichere Formate (zip/rar) vorkommen dann wird Entpacken im Hintergrund zugelassen.

Findet man nun Dateien die sich aus was für Gründen auch immer nicht öffnen lassen schiebt man sie ans Ende einer Warteschlange,
anstatt zu versuchen sie mit dem evt. passenden Entpacker zu behandeln.
Am Ende teilt man dem Benutzer mit: folgende Dateien konnten nicht im Hintergrund entpackt werden: ...

Optional könnte die Liste dann auf Nutzerwunsch ins aktuelle Fenster übertragen werden, etc.
Für interne Formate sollte das kein Problem sein.
TC plugins: PCREsearch and RegXtract
User avatar
Lefteous
Power Member
Power Member
Posts: 9535
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

-> bei einem Archiv kann der Entpackvorgang im Hintergrund laufen
-> bei mehreren Archiven können diese nur im Vordergrund entpackt werden
Also noch mal ganz langsam für mich. Welchen Unterschied macht es ob man ein Archiv im Hintergrund entpackt gegenüber mehreren Archiven?
Wenn es um "threadsafe" ginge, dann wäre bereits das Entpacken des einen Archivs im Hintergrund ein Problem.
Was anderes wäre es, wenn man fordern würde mehrere Archive _gleichzeitig_ im Hintergrund zu entpacken. Das hat aber niemand gefordert oder?
Tiggaa
Member
Member
Posts: 151
Joined: 2007-06-15, 21:27 UTC

Post by *Tiggaa »

Ich stelle mir grade so vor: einen Ordner irgendwo auf dem PC...
Drin enthalten:
3 unverschlüsselte Rar Dateien,
2 Passwort verschlüsselte rar,
3 Passwort verschlüsselte Zip Dateien,
2 Dateien, die in Wahrheit die Endungen .avi und .mpg tragen müssten, da die aber gefaked wurden, steht stattdessen bei beiden .rar dahinter,
und dann noch 3 Archive, bei einem davon fehlen gleich mehrere Megabyte, da versehentlich nicht vollständig heruntergeladen wurde und die anderen beiden haben CRC Fehler abbekommen, wären aber, dank vom Packprogramm mit eingepackter Wiederherstellungsinfos reparierbar...

Also in etwa das, was sich unter der Woche so angesammelt haben könnte und man Streß bedingt erst am Wochenende dazu kommt, das endlich mal alles ..
Womöglich ist die Vorfreude, abends den frisch heruntergeladenen fast 2 Gigabyte großen Film (der mit dem noch zu entdeckenden CRC Fehler drin) schauen zu können auch schon sehr groß ?

Und derweil man 5 m weg vom PC beim Staub wischen ist oder Zutaten fürs Mittagessen schnippelt oder um 3 Zimmerecken herum einen kleinen Mittagsschlaf halten können möchte, soll der PC bzw. der TC das alles mal "bearbeiten" ..

Klar, keine Frage, das ist ein sehr heftiges Szenario, was ich da zusammenkonstruiert habe.
Es zeigt aber, wie ich finde, einen großen Teil der denkbaren Bandbreite auf, was sich da so an wenns, abers und vielleichts einem erfolgreich durchlaufendem Entpackvorgang entgegenstellen kann.
Es zeigt die Komplexität von Entscheidungsfindungen, deren denkbarer oder auch Benutzer seitig wünschbarer Chronologie, wie da wann auf was reagiert werden soll(te) von Seiten des TC oder des Benutzers.

Ich bin jedenfalls froh, nicht der zu sein, der dafür oder für zumindest einen großen Prozentsatz davon, eine große Menge an Usern zufriedenstellende Lösung finden muss :P
augur
Junior Member
Junior Member
Posts: 27
Joined: 2011-08-11, 16:09 UTC

Post by *augur »

ghisler(Author) wrote:Das gibt es bereits, es muss aber manuell eingetragen werden:
wincmd.ini unter [Configuration] bitte folgendes eintragen:
CopyAllTimes=1
Vielen Dank für die Info, das ist genau das, was ich benötige.
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

@Tiggaa

Und wo ist das Problem?
Das Programm legt eine Liste an und arbeitet sie Punkt für Punkt ab, als hätte man die Files einzeln zum Entpacken aufgerufen. Das Programmieren von Schleifen ist eine ziemlich elemantare Programmieraufgabe, das lernt man im Grundkurs in der 1. Woche.

Wenn es bei einem File nicht funktioniert (weil ein Archiv defekt ist, oder weil vielleicht ein spezielles eher exotische Feature, z.B. ein automatisches Repair, nicht implementiert ist), dann landet das File samt Fehlermeldung auf einer Fehlerliste, die am Ende des ganzen Vorgangs angezeigt wird.

Passwörter müssen dem Programm eben vorher mitgegeben werden, die entsprechende Benutzeroberfläche ist auch nicht weiss Gott wie kompliziert.
Franz Müller
Senior Member
Senior Member
Posts: 383
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

ghisler(Author) wrote:Ja, aber wenn der user 10'000 Dateien zum Entpacken makriert hat, muss TC die alle erst mal aufmachen, um zu testen, ob es wirklich alles ZIPs sind. Einige Virenscanner scannen beim Öffnen den Inhalt der gesamten Archivdatei -> nicht praktikabel.
Ich verstehe nicht, warum Sie immer wieder (nicht nur bei diesem Thema, auch z.B.bei der variablen Textbreite im Lister war es Ihr Argument) das Zeitverhalten in unrealistischen Extremszenarios als Argument gegen die Implementierung von sinnvollen Programmfeatures bringen.

Wenn man wirklich 10000 Archivdateien entpacken will, dann dauert das - egal ob man die manuell einzeln aufrufen muss oder als Liste dem Programm übergeben kann. Wenn man sie einzeln aufrufen müsste (das wird man nicht, sondern eben statt des TC ein anderes Programm verwenden), dann wäre es jedenfalls noch "unpraktikabler".
Post Reply