Zip-Archive mit Rexx bearbeiten
Zip-Archive mit Rexx bearbeiten
Ich suche eine Rexx-Bibliothek, mit der man eine ZIP-Datei erstellen und auch wieder auspacken kann.
Das einzige, was ich gefunden habe, ist RXGZLIB. Diese Bibliothek hat aber afaik zwei Nachteile:
1) Format *.gz ist wohl nicht kompatibel mit *.zip ?
2) In der RXGZLIB-Bibliothek finde ich keine Funktion, die das Setzen eine Passwortes unterstützt.
Frage also: Gibt es so etwas wie eine INFOZIP.DLL?
Danke,
Lutz Wagner
Das einzige, was ich gefunden habe, ist RXGZLIB. Diese Bibliothek hat aber afaik zwei Nachteile:
1) Format *.gz ist wohl nicht kompatibel mit *.zip ?
2) In der RXGZLIB-Bibliothek finde ich keine Funktion, die das Setzen eine Passwortes unterstützt.
Frage also: Gibt es so etwas wie eine INFOZIP.DLL?
Danke,
Lutz Wagner
Zum _Auspacken_ habe ich diese DLL gefunden. Keine Ahnung, was sie kann und tut...
Ich habe in dieser bescheidenen Anwendung lieber meine eigenen Funktionen und Bugs eingebaut
, sieht aber m.E. dank VisproRexx nicht ganz übel aus. War auch nur Freizeitbeschäftigung mit Rexx und virtuellem (produktiv noch:) eCS.
Übrigens: ZIP-Passwort setzen ist eigentlich Unfug. Was verschlüsselt wird, sind die gepackten Dateien darin, und wirkt bei deren Auspacken. Der Inhalt des Archivs _als Liste_ lässt sich trotzdem anzeigen (doch wen geht's was an?...). Viel besser wäre da sowas wie PGP aufs fertige Archiv.
Ich habe in dieser bescheidenen Anwendung lieber meine eigenen Funktionen und Bugs eingebaut


Übrigens: ZIP-Passwort setzen ist eigentlich Unfug. Was verschlüsselt wird, sind die gepackten Dateien darin, und wirkt bei deren Auspacken. Der Inhalt des Archivs _als Liste_ lässt sich trotzdem anzeigen (doch wen geht's was an?...). Viel besser wäre da sowas wie PGP aufs fertige Archiv.
Naja, wie du schon gesagt hast: Man kann damit aus einer Rexx-Umgebung heraus ZIP-Archive ansehen und auspacken. Leider ist das Erstellen eines ZIP-Archives damit nicht möglich.
Hab ich mir mal installiert. Und wurde neugierig, als ich sah, dass dein Programm auch das *Erstellen* von Archiven anbietet, sogar mit Passwort (encrypted). Das ist ja genau das, wonach ich suche.LotharS hat geschrieben: Sa 1. Jun 2019, 09:26 Ich habe in dieser bescheidenen Anwendung lieber meine eigenen Funktionen und Bugs eingebaut,
Wie ich deinem Readme.1st entnehme, benutzt du aber in deinem Visprorexx-Programm keine DLL, sondern die auf jedem OS/2-System vorhandenen Kommandozeilen-Programme zip.exe und unzip.exe. D.h. du machst in deinem Rexx eine Kommandozeilen-Session auf (Shell oder wie man das nennt) und rufst somit [un]zip.exe mit entsprechenden Parametern auf.
Ist das korrekt?
Wenn ja, hätte ich eine weitere Frage:
Wie hast du es geschafft, zip.exe mit der Encrypt-Option aufzurufen, ohne dass das zip.exe dich promptet "Enter passwort:", und gleich zweimal.
Ich bin daran gescheitert. Ich habe es mit Umleitung versucht, etwa so: "zip -e NewZipfile x:\source-dir\*.* < Passwordfile". Das funzt bei mir aber nicht. Meine per "<" Operator angegebene Datei, die das Passwort enthält, wird ignoriert und stattdessen erhalte ich den zweimaligen Prompt des zip.exe
Verrätst du mir dein kleines Geheimnis ?

Danke,
Lutz Wagner
Mal zip --help angeschaut? --password oder -PDonLucio hat geschrieben: Sa 1. Jun 2019, 17:25Naja, wie du schon gesagt hast: Man kann damit aus einer Rexx-Umgebung heraus ZIP-Archive ansehen und auspacken. Leider ist das Erstellen eines ZIP-Archives damit nicht möglich.
Hab ich mir mal installiert. Und wurde neugierig, als ich sah, dass dein Programm auch das *Erstellen* von Archiven anbietet, sogar mit Passwort (encrypted). Das ist ja genau das, wonach ich suche.LotharS hat geschrieben: Sa 1. Jun 2019, 09:26 Ich habe in dieser bescheidenen Anwendung lieber meine eigenen Funktionen und Bugs eingebaut,
Wie ich deinem Readme.1st entnehme, benutzt du aber in deinem Visprorexx-Programm keine DLL, sondern die auf jedem OS/2-System vorhandenen Kommandozeilen-Programme zip.exe und unzip.exe. D.h. du machst in deinem Rexx eine Kommandozeilen-Session auf (Shell oder wie man das nennt) und rufst somit [un]zip.exe mit entsprechenden Parametern auf.
Ist das korrekt?
Wenn ja, hätte ich eine weitere Frage:
Wie hast du es geschafft, zip.exe mit der Encrypt-Option aufzurufen, ohne dass das zip.exe dich promptet "Enter passwort:", und gleich zweimal.
Ich bin daran gescheitert. Ich habe es mit Umleitung versucht, etwa so: "zip -e NewZipfile x:\source-dir\*.* < Passwordfile". Das funzt bei mir aber nicht. Meine per "<" Operator angegebene Datei, die das Passwort enthält, wird ignoriert und stattdessen erhalte ich den zweimaligen Prompt des zip.exe
Verrätst du mir dein kleines Geheimnis ?
Danke,
Lutz Wagner
Silvan Scherer (_diver)
CTO bww bitwise works GmbH
DIE Quelle für ArcaOS, Software und Support, außerdem sind wir für finanzielle Unterstützung immer dankbar!
CTO bww bitwise works GmbH
DIE Quelle für ArcaOS, Software und Support, außerdem sind wir für finanzielle Unterstützung immer dankbar!
Genau: address CMD "@zip..." usw. Abgesehen von VisproRexx ist absichtlich alles simples classic Rexx (tut aber auch mit ORexx).DonLucio hat geschrieben: Sa 1. Jun 2019, 17:25 Wie ich deinem Readme.1st entnehme, benutzt du aber in deinem Visprorexx-Programm keine DLL, sondern die auf jedem OS/2-System vorhandenen Kommandozeilen-Programme zip.exe und unzip.exe. D.h. du machst in deinem Rexx eine Kommandozeilen-Session auf (Shell oder wie man das nennt) und rufst somit [un]zip.exe mit entsprechenden Parametern auf.
Ist das korrekt?
Das Programm merkt sich zunächst, ob ich in der Session "encrypten" möchte (neben den anderen Wünschen). Habe ich endlich alles gesammelt und drücke "Zip", so erfragt das Programm in einem Mini-Subdialog das gewünschte Passwort (plus Bestätigung) und überträgt dessen Rückgabe mit in die zip.exe-Parameterleiste. Normalerweise ist der Parameter '-P' nicht da. Die Funktion habe ich nur im ausführlichen Fall "Compress extended" vorgesehen, um nicht gleich abzuschreckenVerrätst du mir dein kleines Geheimnis ?

Verrückt an der zip-"Verschlüsselung" ist auch, dass sich dem Archiv später hinzugefügte Dateien sogar anders verschlüsseln lassen (oder ohne). Quatsch aber funktioniert, wer's denn braucht... Welche Dateien sich in Archiv befinden (und von wann und wie groß) bleibt trotzdem für jedermann sichtbar. "Verschlüsselung" stelle ich mir eher anders vor.
Ursprünglich sollte das Programm bloß zufällig "verschlüsselte" Archive auspacken können. Der o.a. Mini-Subdialog im Verbund mit den Auspack-Routinen kurvt dann halt andersrum...
Zuletzt geändert von LotharS am Sa 1. Jun 2019, 19:59, insgesamt 1-mal geändert.
Von --password oder -P steht nur im Manual._diver hat geschrieben: Sa 1. Jun 2019, 19:51 <... snip ...>
Mal zip --help angeschaut? --password oder -P
-
- Beiträge: 104
- Registriert: Mi 22. Nov 2017, 23:46
Der übliche Workaround dafür ist ein ZIP-im-ZIP. Oder man nimmt gleich 7zip, daß - zumindest bei der Verwendung des ohnehin deutlich effizienteren 7z-Formats (Lempel-Ziv-Markov) - ermöglicht, auch das "Inhaltsverzeichnis" mit dem gegenüber dem normalen ZIP stärkeren AES256-Verfahren zu verschlüsseln.LotharS hat geschrieben: Sa 1. Jun 2019, 19:58Welche Dateien sich in Archiv befinden (und von wann und wie groß) bleibt trotzdem für jedermann sichtbar. "Verschlüsselung" stelle ich mir eher anders vor.
Zuletzt geändert von ehemaliger am Sa 1. Jun 2019, 21:30, insgesamt 1-mal geändert.
Hmm ... das wäre schön. Danach habe ich im Help gesucht. Aber mein zip.exe liefert nur diese Optionen:
Code: Alles auswählen
■■■»zip
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
The default action is to add or replace zipfile entries from list, which
can include the special name - to compress standard input.
If zipfile and list are omitted, zip compresses stdin to stdout.
-f freshen: only changed files -u update: only changed or new files
-d delete entries in zipfile -m move into zipfile (delete OS files)
-r recurse into directories -j junk (don't record) directory names
-0 store only -l convert LF to CR LF (-ll CR LF to LF)
-1 compress faster -9 compress better
-q quiet operation -v verbose operation/print version info
-c add one-line comments -z add zipfile comment
-@ read names from stdin -o make zipfile as old as latest entry
-x exclude the following names -i include only the following names
-F fix zipfile (-FF try harder) -D do not add directory entries
-A adjust self-extracting exe -J junk zipfile prefix (unzipsfx)
-T test zipfile integrity -X eXclude eXtra file attributes
-E use the .LONGNAME Extended attribute (if found) as filename
-y store symbolic links as the link instead of the referenced file
-$ include volume label -S include system and hidden files
-e encrypt -n don't compress these suffixes
-h2 show more help
Gibt's noch andere Versionen von zip.exe? Meines ist das mit ArcaOS mitgelieferte.
Uff! Nachtrag: Man kann auch in meiner zip.exe-Version mit -P ein Passwort eingeben! Es funktioniert! Warum ist das denn im -help nicht angegeben???
Danke für den Hinweis (Wissen ist Macht ...)
Gruß,
Lutz Wagner
Zuletzt geändert von DonLucio am Sa 1. Jun 2019, 23:05, insgesamt 1-mal geändert.
Leider sind die 7zip-Archive nicht mit [un]zip lesbar. Das ist aber in meinem speziellen Fall Bedingung (Hintergrund: Ich möchte mein lokal erzeugtes Archiv auf meinen Webserver übertragen und dort mit PHP-Mitteln verwalten. Und afaik gibt es im aktuellen PHP 7.2 zwar Unterstützung für zip, aber nicht für 7zip.)ehemaliger hat geschrieben: Sa 1. Jun 2019, 21:30Oder man nimmt gleich 7zip, daß - zumindest bei der Verwendung des ohnehin deutlich effizienteren 7z-Formats (Lempel-Ziv-Markov) - ermöglicht, auch das "Inhaltsverzeichnis" mit dem gegenüber dem normalen ZIP stärkeren AES256-Verfahren zu verschlüsseln.
Gruß,
Lutz Wagner
Danke an alle, die mir hier geantwortet haben.
Mit der Aufdeckung des undokumentierten -P-Parameters in zip.exe ist mein Problem gelöst
Gruß,
Don Lucio.
Mit der Aufdeckung des undokumentierten -P-Parameters in zip.exe ist mein Problem gelöst

Gruß,
Don Lucio.
Prima! Nur, so ganz "undokumentiert" ist der Parameter nicht: 'zip -h2 > ziphelp2.txt' tut auch schon, muss man nur ahnenDonLucio hat geschrieben: Sa 1. Jun 2019, 23:38 Mit der Aufdeckung des undokumentierten -P-Parameters in zip.exe ist mein Problem gelöst![]()

Ich hatte vorsichtshalber lieber das ausführlichere 'Manual' in Zip v.2.31 (man schmeiße keine rostigen Nägel weg...) oder das Linux-Manual befragt...
Uff! Ja, tatsächlich war ich schon ein bißchen blind:LotharS hat geschrieben: So 2. Jun 2019, 00:45Prima! Nur, so ganz "undokumentiert" ist der Parameter nicht: 'zip -h2 > ziphelp2.txt' tut auch schon, muss man nur ahnen![]()
Die Option "-h2 show more help" hatte ich überlesen ...

Danke ....
Lutz Wagner