7Z SelfExtractor - mit ganzen Pfadangaben - Kommandozeile

cumulonimbus8

Fleet Admiral
Registriert
Apr. 2012
Beiträge
18.403
Moin!

Theoretisch sollte ganz einfach sein ein Archiv zu erstellen in dem jede aufgesammelte Datei mit vollem Pfad hinterlegt ist.

Das klapp auch wunderbar z.B. so:
Code:
7z a -y -mx9 -spf C:\A\A\test.7z C:\A\A\Anton.bat
7z a -y -mx9 -spf C:\A\A\test.7z C:\A\B\Berti.bat
7z a -y -mx9 -spf C:\A\A\test.7z C:\A\C\Conni.bat
…und ich kann über die Kommandozeile (!) das auch zielgerichtet wieder entpacken:
Code:
7z x -y -spf C:\A\A\test.7z

Genauso simpel lässt sich ein SelfExtractor erzeugen. Analog oben → 7z a -y -mx9 -spf -sfx 7z.sfx C:\A\A\test.exe …
Und über die GUI (!) kann ich mit bestimmten Einstellungen auch in die Pfade (ohne Rückfrage) überschreibend entpacken.

Wie bekomme ich dasselbe für einen autonomen SelfExtractor hin?

Die Angabe eines Extraktionspfades ist unmöglich da sich die Sammlung bunt verteilt über Laufwerke erstreckt; das Beispiel oben ist nur ein bescheidener Test. (Auch kann sich die Sammlung immer wieder andsers zusammensammeln, da gibt es nicht ›Festes‹.)

CN8
 
cumulonimbus8 schrieb:
Die Angabe eines Extraktionspfades ist unmöglich
Die Idee fällt leider aus. Weil dieser Pfad recht… variabel… ausfallen kann 😉

CN8
 
Dann arbeite mit Variablen. Du wirst das doch sicher für ein Skript benötigen.
 
  • Gefällt mir
Reaktionen: Recruit
Das Archiv muss sich ohne weitere Eingriffe anhand seines Inhalts entpacken.
Und wie viele Ausgabenordner mag ich mit -o angeben? 30? Geht nicht weil jedes feile seine eigene Struktur haben kann.
Die Kommandozeile kanns ja, nur mit den Inhalten. Warum scheiter da eine Selbstextraktion dran..?

CN8
 
cumulonimbus8 schrieb:
Warum scheiter da eine Selbstextraktion dran..?
Da wirst du den Entwickler fragen müssen. Ich würde vermuten, es liegt daran, dass man den Selfextractor üblicherweise interaktiv aufruft und man daher dieses Nutzungsszenario nicht abdeckt. Ansonsten könnte man ja direkt die 7zip-Commandline Version nutzen.
 
Einem Kollegen eine Exe in die Hand zu drücken ist klar einfacher als ein Archiv + Kontrollbatch…
…und auf Grund gewisser Firmwaremalaisen von AVM wäre mir augenblicklich jeder gesparte Schritt, jede Vereinfachung, nur recht. Ich komme mit meinem Selbstgeklöppeltem klar, reine User nicht so sehr. 😉

CN8
 
Ich vermute mal, daß der Self-Extraktor in der Kommadozeile anders arbeitet bzw. anders programmiert ist als über die GUI.

Hast Du das mal probiert? Der hats ganz unten in Kombination mit exe + cmd gelöst:
https://superuser.com/questions/107...cting-archive-sfx-with-specified-extract-path[/QUOTE]

Was ist mit dem Parameter -sfx[{SFX_Module}]?
https://7zip.bugaco.com/7zip/MANUAL/cmdline/switches/sfx.htm#SFX_Module

Du mußtest das Modul 7zS.sfx mit einer config.txt koppeln, in der die Auspackoptionen stehen, oder die Zeile mit ExecuteParameters verwenden, wo Du x als Parameter mit x (Extract with full paths) commandreinsetzt, oder den Pfad dort direkt reinpacken.
 
Zuletzt bearbeitet:
Die Syntax dieser Kontrolldatei für ein SFX_Modul ist mir nicht ganz klar. Das »andere« Modul zielt auf Installer, also etwas Entpacktes (fragt sich wohin und wie…) das augenscheinlich automatisch ausgelöst werden soll. Die Anweisung pfadgetreu auszupacken sehe ich da nicht drin.

Die GUI ist auch nicht wirklich handzahm und scheint sich Einstellungen zu merken; ihre eigenen und keine eines Archivs würde ich vermuten. Falls sie eine Syntax für eine EXE auswerfen könnte wäre das interessant.

Man sollte beim Entwickler anklopfen was er sich so denkt, dass ein SelfExtractor nicht die normale Kommandozeilensyntax abbilden kann. Beim Packen wie Entpacken reicht ja der Schalter -spf…

CN8
 
Du kannst bei dem SFX_Module den Parameter InstallPath reinbauen. Bei ExecuteFile kannst Du dann irgend ein Dummy reinbauen bzw, probieren, Hauptsache, Du kannst dort den Pfad zum Auspacken vorgeben, und das ist ja Dein Knackpunkt hier, der so gelöst werden würde.
 
nutrix schrieb:
Hauptsache, Du kannst dort den Pfad zum Auspacken vorgeben
Und genau das geht doch nicht!
Ich habe ›zig‹ Pfade die zielgerichtet entpackt werden müssen, nicht einen einzigen Entpack-Ordner.

CN8
 
Das Ganze hört sich für mich an wie ein klassisches Installationsprogramm.

Unsere SW ist genauso aufgebaut. Die "exe" ist eigentlich nur ein Archiv, und beim Ausführen werden die Dateien in die richtigen Verzeichnisse kopiert. Zusätzlich werden zwar auch Treiber registriert und Registry-Einträge geschrieben, aber das kann man sicherlich übergehen.
Unsere SW bietet sogar eine versteckte Extraktions-Option an, bei der alle Dateien in einen einzelnen Ordner entpackt werden.

Ich bin allerdings kein Programmierer, sondern "nur" der Anwender. Ab und zu muss ich halt die "exe" mit 7-zip öffnen, um an einzelne Dateien zu kommen. Daher weiß ich es.
 
  • Gefällt mir
Reaktionen: Evil E-Lex
00Julius schrieb:
Das Ganze hört sich für mich an wie ein klassisches Installationsprogramm.
Da hast du einen Punkt. Vielleicht sind Projekte wie NSIS oder WIX mögliche Alternativen. Da ist natürlich die Einarbeitungszeit höher als bei selbstgeklöppelten Skripten, allerdings dürfte das Ergebnis deutlich besser handhabbar sein.
 
Nope. Einer Installation kommt das nicht gleich.

Es werden Nutzdaten-Dateien die in Kleingruppen in diversen Ordnern liegen {dort landen sie per FTP, vgl. unten} erfasst um sie komprimiert zu transportieren (das spart messbar Zeit so) wonach sie am Ziel in die selbe Struktur wieder entpackt werden müssen…

{Warum das gerade so ist? Nette Grüße an AVM mit einer schiefgegangen Firmware. Dies alles ist ein manueller Notbehelf - und wenn ich das ohne Klimmzüge an einen Laien geben kann wäre mir durchaus geholfen. Knackpunkt ist der Dateitransfer. VNC bei mir - unhandlich bis dorthinaus - oder per ChromeRemoteDesktop - Ziel dort aber stets der Desktop…}

…und wenn das ohne Hilfsbatch mit einem SelfExtractor allein klappt (der kann ja bleiben und wird maximal überschrieben) wäre das sehr nützlich.

Ein Installer startete was was teilentpackt sein muss und sich mühsam wieder wegräumen; das bringt da nix.


--- Neuer Beitrag ---

Siehe gerade eben: das Konzept der Installation widerspricht meiner Anforderung einer automatischen Verteilung. Viele Pfade gegenüber einem. Iornie: der entpackte Installer wäre effektiv der gewollte Verteiler - die Katze beißt sich in den Schwanz!

CN8
 
Schnellfassung: Ein dickes Loch in der Firmware hat AVM kurzfristig Version 7.57 ausliefern lassen. Auch auf die Box der Firma, die unter Ägide von Vodafone steht. 7.57 hat einen komischen FTP-Bug; Kommandozeilentools bekommen in bestimmten Fällen keine Verbindung. Ein virtueller WIN-Server (das ist ein Fall, unser Haupt-UNIX-Server ist keiner…) sammelt Daten die zyklisch automatisiert abgeholt und in Arbeitsordner verteilt werden. Deswegen die vielen Pfade.
Die Cable-Box tut nicht, meine VDSL-Box daheim aber schon. Also sammele ich die Daten, »lasse die viele Luft raus« nebst Bündelung und transferiere das Archiv um in der Firma zu entpacken.
FileZilla erreicht den WIN-Server ebenfalls nicht - außer ich installiere das Serverzertifikat. Das hilft dem Kommandozeilentool das den Downlaod managt aber nix. Es liegt an der Box, ein Laptop tut zu Hause aber in der Firma nicht.

Also werde ich Remote-Controlled. Und faul von Natur aus will ich das einfach haben und auch die Option, dass ein Kollege das schaukeln kann… Ein SelfExtractor wäre genehm.

CN8
 
Zuletzt bearbeitet:
Diese Lösung hört aber etwas arg kompliziert und altbacken an. Warum kein VPN Tunnel zu und zwischen den Servern, wo Du direkt in Windows in die Netzwerkfreigaben ablegen kannst, oder Sharepoine, OneDrive...? Dann erledigen sich Zertifikate von selbst innerhalb eines VPN Netztes.

So direkt mit FTP hantieren nur noch wenige rum, weil es bessere Methoden gibt.
 
Zuletzt bearbeitet:
@cumulonimbus8
Ahh, danke für die Erklärung. Ich hatte Schwierigkeiten damit, AVM-Firmware und einen 7zip-Selfextractor unter einen Hut zu bringen. Jetzt verstehe ich, dass du eine Alternative zur brüchigen FTP-Verbindung suchst.

nutrix schrieb:
So direkt mit FTP hantieren nur noch wenige rum, weil es bessere Methoden gibt.
Und mache Kunden/Lieferanten sind halt in den 90ern stehengeblieben und bieten nichts anderes an.
 
  • Gefällt mir
Reaktionen: nutrix
@nutrix
Wunderwaffe VPN. Du weißt was ein VPN-Tunnel ist und was für Eingenarten eine gewöhnlicher Tunnel hat? 2 Enden…
Ich müsste also diesen Sparbrötchen WIN-Server zum VPN-Server machen um alle anderen abholden Geräte mit einem VPN-Client aufrüsten zu müssen.
Dann muss ich vor jedem Transfer den Tunnel aufbauen und danach wieder schließen.
Es ist unser Server. Und wer das VPN-Passwort (weil - wenn schon, denn schon!) hat der hätte auch das normale LogIn-Passwort das es für das getunnelte FTP braucht (erbeutet). Und umgekehrt.


Evil E-Lex schrieb:
Und mache Kunden/Lieferanten sind halt in den 90ern stehengeblieben und bieten nichts anderes an.
Der Lieferant sind wir selbst…

Und da ihr alle so pfiffig seid mit VPN und Nicht-FTP - arbeitet mir doch mal eine Lösung aus zwischen WIN-Server und einer programmierten Kommandozeile die per Scheduler abruft aus.
Denn falls ihr das (›7z + Pfade‹) nicht recht mitbegriffen habt - da hole ich nicht zu Fuß ein File ab sondern viele Files serienweise automatisiert nach Zeitplan = regelmäßig.

Evil E-Lex schrieb:
Jetzt verstehe ich, dass du eine Alternative zur brüchigen FTP-Verbindung suchst.
Diese Einschätzung ist an der Wurzel falsch.
Das Firmwareupgrade bei dieser speziellen Box bei diesem speziellen Provider (mindestens in dieser Kombi) hat einen Bug der die eigentlich funktioniereden Einstellungen sabotiert. FTP an sich funktioneirt einwandrei und läuft rund.
Da es hier passt, wenns auch nicht zum Thema gehört: ich musste mit einem Schalter passives FTP blockieren und nun geht es (wohlgemerkt: meine private Box hat die Malaise nicht!) - das aht mich gestern reichliches Probieren gekostet da die Option wahrlich nicht auf dem Zettel war.
Damit wäre das Thema FTP erledigt - außer es gäbe die oben angefragte Verbesserung (wir sind gespannt).

CN8
 
cumulonimbus8 schrieb:
@nutrix
Wunderwaffe VPN. Du weißt was ein VPN-Tunnel ist und was für Eingenarten eine gewöhnlicher Tunnel hat? 2 Enden…
Ich müsste also diesen Sparbrötchen WIN-Server zum VPN-Server machen um alle anderen abholden Geräte mit einem VPN-Client aufrüsten zu müssen.
Dann muss ich vor jedem Transfer den Tunnel aufbauen und danach wieder schließen.
Es ist unser Server. Und wer das VPN-Passwort (weil - wenn schon, denn schon!) hat der hätte auch das normale LogIn-Passwort das es für das getunnelte FTP braucht (erbeutet). Und umgekehrt.
Nochmals, das ist so absolut altbacken. Man schafft sich gescheite Firewalls an, dazu ein venünftigtes Netzkonzept mit unterschiedlichen Netzen pro Standort, und bindet jeden Standort direkt über die Firewalls als gesamtes Netzwerk ein. Da muß sich keiner ein VPN Passwort merken. Da kann dann Dein WIN Server stehen wo er will, er kann von allen Standorten und Clients direkt angesprochen werden. Für die externen Clients brauchst Du natürlich dann eine entsprechende Client Software, da kann man die des Firewallherstellers verwenden, oder eigene (Fortinet, Cisco, ExpressVPN, Citrix, OpenVPN, ...).
Ergänzung ()

cumulonimbus8 schrieb:
Denn falls ihr das (›7z + Pfade‹) nicht recht mitbegriffen habt - da hole ich nicht zu Fuß ein File ab sondern viele Files serienweise automatisiert nach Zeitplan = regelmäßig.
Wie gesagt, wenn Du gescheit Exchange + Sharepoint bzw. OneDrive sonstwas machst, vernetzt Du die Standorte direkt per VPN, und dann synchen sich die Server automatisch untereinander, wie Du es einstellst und willst. Bei OneDrive mußt Du nur die Clients einmal konfigurieren, Ordner freigeben, und dann synchen sich die Ordner auch automatisch, und niemand muß da mehr mit FTP und manuellem Exe-Auspacken irgendwie rumhantieren.
Ergänzung ()

cumulonimbus8 schrieb:
Und da ihr alle so pfiffig seid mit VPN und Nicht-FTP - arbeitet mir doch mal eine Lösung aus zwischen WIN-Server und einer programmierten Kommandozeile die per Scheduler abruft aus.
Dafür gibts dann Systemhäuser oder Consultants wie meine Wenigkeit, die Du gerne für einiges Geld einkaufen kannst.
Evil E-Lex schrieb:
Und mache Kunden/Lieferanten sind halt in den 90ern stehengeblieben und bieten nichts anderes an.
Klar, kenn ich zur Genüge. Aber irgendwann sollte man wirklich mal sein IT-Wissen auf einen aktuellen Stand bringen. So masochistisch mit alten Mitteln quält sich heute kein vernünftiger Mensch mehr.
 
Zuletzt bearbeitet:
Zurück
Oben