[BUG] Interner ZIP-Packer - Fehlermeldung
Moderators: Hacker, Stefan2, white
[BUG] Interner ZIP-Packer - Fehlermeldung
Enthält der Archivname einen oder mehrere Bindestriche "-" interpretiert der interne Packer dies als Paramaterangabe und gibt folgende Fehlermeldung heraus: "Kann externes Packprogramm nicht finden! ..."
Beispiel: zip:f:\Dokument -01-.zip
Das Problem kann man zwar umgehen in dem man den Archivnamen in Anführungszeichen schreibt, nur denkt man nicht immer daran und muss wegen der Fehlermeldung dem kompletten Packvorgang wiederholen.
Parameter schreibt man in der Regel nach der Endung ZIP. Kann das Verhalten geändert werden? Mit Leerzeichen kommt der interne Packer ohne Problem klar.
Beispiel: zip:f:\Dokument -01-.zip
Das Problem kann man zwar umgehen in dem man den Archivnamen in Anführungszeichen schreibt, nur denkt man nicht immer daran und muss wegen der Fehlermeldung dem kompletten Packvorgang wiederholen.
Parameter schreibt man in der Regel nach der Endung ZIP. Kann das Verhalten geändert werden? Mit Leerzeichen kommt der interne Packer ohne Problem klar.
Last edited by phantom on 2016-08-16, 18:15 UTC, edited 1 time in total.
Hallo, Phantom.
Kann ich mit Total Commander 32-bit 8.52a und 9.0b9 nicht reproduzieren. Habe mehrere ZIP-Dateien, deren Namen Bindestriche enthalten. Der interne ZIP Packer verarbeitet diese Dateien ohne Fehlermeldung.
Selbst nachdem ich die Dateien so umbenannt habe, dass vor jedem Bindestrich ein Leerzeichen stand, hat sich daran nichts geändert.
Könnte es sein, dass bei dir gar nicht der interne Packer zuständig ist, sondern sich ein Packer Plugin "davorgemogelt" hat?
Hm. Die zitierte Fehlermeldung "Kann externes Packprogramm nicht finden! ..." klingt auch nicht nach dem internen Packer.
Noch etwas Seltsames:
Wenn ich die Datei "f:\Dokument -01-.zip" im T.C. öffne und dann weitere Dateien hineinkopiere z.B., dann steht in der Pack-Dialogbox: Und die Anführungszeichen um den Dateinamen hat T.C. ohne mein Zutun eingefügt.
Ich glaube, du verstößt einfach aus Bequemlichkeit gegen die Regel, dass Dateinamen, die Leerzeichen enthalten, in doppelte Anführungszeichen zu setzen sind; und T.C. soll das gefälligst unterstützen.
Also wie so oft: Problemursache lokalisiert 80 cm vor dem Monitor an der Tastatur.
Grüße
Karl
Kann ich mit Total Commander 32-bit 8.52a und 9.0b9 nicht reproduzieren. Habe mehrere ZIP-Dateien, deren Namen Bindestriche enthalten. Der interne ZIP Packer verarbeitet diese Dateien ohne Fehlermeldung.
Selbst nachdem ich die Dateien so umbenannt habe, dass vor jedem Bindestrich ein Leerzeichen stand, hat sich daran nichts geändert.
Könnte es sein, dass bei dir gar nicht der interne Packer zuständig ist, sondern sich ein Packer Plugin "davorgemogelt" hat?
Hm. Die zitierte Fehlermeldung "Kann externes Packprogramm nicht finden! ..." klingt auch nicht nach dem internen Packer.
Noch etwas Seltsames:
Da fehlen die umgebenden doppelten Anführungszeichen. Von Hand ein bißchen rumgetippert?zip:f:\Dokument -01-.zip
Wenn ich die Datei "f:\Dokument -01-.zip" im T.C. öffne und dann weitere Dateien hineinkopiere z.B., dann steht in der Pack-Dialogbox:
Code: Select all
zip:"f:\Dokument -01-.zip"
Ich glaube, du verstößt einfach aus Bequemlichkeit gegen die Regel, dass Dateinamen, die Leerzeichen enthalten, in doppelte Anführungszeichen zu setzen sind; und T.C. soll das gefälligst unterstützen.
Also wie so oft: Problemursache lokalisiert 80 cm vor dem Monitor an der Tastatur.

Grüße
Karl
Last edited by karlchen on 2016-08-16, 16:11 UTC, edited 1 time in total.
Ich bin in der Tat zu faul die Anführungszeichen hinzuzufügen, da der TC mit Leerzeichen klar kommt, sollte es auch ohne gehen. Das es mit Anführungszeichen klappt schreibe ich ja selbst!
Natürlich habe da herumgetippt, noch weiß der TC nicht, welchen Dateinamen ich mir für ein Archiv ausgedacht habe.
Allerdings habe ich mir auch nicht die Mühe gemacht die Anführungszeichen zu entfernen. An den Packereinstellungen habe ich auch nicht herumgedoktert. Das Verhalten kann ich bei Windows XP 32 Bit und bei Windows 10 64 Bit feststellen.
Der TC setzt bei einsilbigen Verzeichnispfaden bzw. einsilbigen Dateinamen nicht automatisch die Anführungszeichen. Versucht doch einfach mal aus einem "Dokument.doc" ein Archiv mit dem Namen "Dokument -01-.zip" in "C:\tmp" zu erzeugen.
TC schlägt automatisch folgendes vor:
Ich füge dann noch " -01-" hinzu:
-> TC quittiert dies mit der besagten Fehlermeldung
Ich behaupte jetzt mal das ist ein BUG!
Bei einsilbigen Verzeichnispfaden bzw. einsilbigen Dateinamen werden nicht automatisch Anführungszeichen gesetzt.
Natürlich habe da herumgetippt, noch weiß der TC nicht, welchen Dateinamen ich mir für ein Archiv ausgedacht habe.

Der TC setzt bei einsilbigen Verzeichnispfaden bzw. einsilbigen Dateinamen nicht automatisch die Anführungszeichen. Versucht doch einfach mal aus einem "Dokument.doc" ein Archiv mit dem Namen "Dokument -01-.zip" in "C:\tmp" zu erzeugen.
TC schlägt automatisch folgendes vor:
Code: Select all
zip:c:\tmp\Dokument.zip
Code: Select all
zip:c:\tmp\Dokument -01-.zip
Ich behaupte jetzt mal das ist ein BUG!
Bei einsilbigen Verzeichnispfaden bzw. einsilbigen Dateinamen werden nicht automatisch Anführungszeichen gesetzt.
- ghisler(Author)
- Site Admin
- Posts: 50550
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Dies ist kein Bug, sondern volle Absicht. Sie müssen entweder hinter dem Bindestrich ebenfalls ein Leerzeichen einfügen, oder vor diesem KEIN Leerzeichen, oder den Namen in "" schreiben:
zip:"c:\tmp\Dokument -01-.zip"
zip:"c:\tmp\Dokument -01-.zip"
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Die Absicht besteht darin, zusätzliche Optionen/Schalter an (externe) Packer zu übergeben, z.B. an WinRAR.
MfG Dalai
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64
Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
Ich kann ja verstehen, dass Optionen/Schalter an externe Packer übergeben werden sollen, auch wenn es hier um einen internen Packer geht. Aber warum soll das für gelten und für nicht?
Im ersten Beispiel setzt der TC keine Anführungszeichen und im zweiten Beispiel sehr wohl.
Mein Problem könnte sehr einfach umgangen werden, wenn der TC ausnahmslos die Anführungszeichen setzen würde.
Code: Select all
zip:c:\tmp\Dokument.zip
Code: Select all
zip:"c:\tmp ordner\Dokument.zip"
Im ersten Beispiel setzt der TC keine Anführungszeichen und im zweiten Beispiel sehr wohl.
Mein Problem könnte sehr einfach umgangen werden, wenn der TC ausnahmslos die Anführungszeichen setzen würde.