peter5
Goto Top

Batchscript zum Entpacken von Dateien auf einem Server

Ich suche nach einer Möglichkeit, gepackte Dateien auf einem Server mit einem Batchscript zu entpacken.

Viele Grüße
Peter

Content-ID: 5976508999

Url: https://administrator.de/forum/batchscript-zum-entpacken-von-dateien-auf-einem-server-5976508999.html

Ausgedruckt am: 09.04.2025 um 02:04 Uhr

emeriks
emeriks 14.02.2023 aktualisiert um 11:04:33 Uhr
Goto Top
Hi,
dann mal genauso ausführlich.
In der CMD ausführen:
expand /?

E.
colinardo
Lösung colinardo 14.02.2023 aktualisiert um 11:17:08 Uhr
Goto Top
Servus.
Da hier das Linux-Tag verwendet wurde, auf der Konsole (bash/sh)
unzip -d /dest/directory/ master.zip
oder
tar xvf file.zip -C /dest/directory/
usw.

Das man so etwas banales nicht mit der Suchmaschine seiner Wahl findet?!
https://www.cyberciti.biz/faq/how-to-unzip-a-zip-file-using-the-linux-an ...
https://www.google.com/search?q=bash+unzip

Grüße Uwe

p.s. Batch wird nicht unter Linux verwendet

Falls du doch Batch unter Windows meinst

@echo off
:: Download at https://7-zip.de/
7z x "C:\archive.zip" -o"D:\pfad"  
Oder
@echo off
powershell -EP Bypass -C "expand-archive -Path 'C:\datei.zip' -DestinationPath 'D:\Pfad'"  
Peter5
Peter5 14.02.2023 um 11:13:57 Uhr
Goto Top
Vielen Dank für die schnelle Antworten.

Peter
Peter5
Peter5 14.02.2023 um 17:33:52 Uhr
Goto Top
Ich habe mir ein kleines Batch-Skript mit winscp geschrieben, welches Dateien auf dem Windows-PC packt, und diese per FTP in ein Server-Verzeichnis stellt. Das Entpacken mit 'unzip' funktioniert aber leider nicht, da der unzip-Befehl bei meinem Webhoster nicht auf dem Server unterstützt wird.

Mit einem PHP-Skript (unzip.php) kann ich die Datei über einen Webbrowser entpacken, aber ich hätte gerne den gesamten Ablauf in einem einzigen Batch-Skript.

Gibt es eine Möglichkeit, die Ausführung einer PHP-Datei in ein Batch-Skript zu integrieren?

Ich habe schon mit dem Aufruf einer URL über chrome.exe experimentiert, aber hier muss ich immer manuell nach jeder Ausführung das Browserfenster schließen, damit das Skript weiterläuft.

Viele Grüße
Peter
colinardo
colinardo 14.02.2023 aktualisiert um 18:23:29 Uhr
Goto Top
Rufe nach dem Übertragen, einfach z.B. mittels plink oder ssh dein php Skript auf dem Remote-Server auf. Alternativ baust du dir ein PHP-Skript das du per URL-Aufruf gesichert anwerfen kannst und dem du den Dateinamen als Parameter übergibst.
Oder statt zu zippen synchronisierst du per WinSCP Synchronize Command das lokale Verzeichnis direkt dann entfällt das nachträgliche entpacken.
Oder du komprimierst mit tar über SSH und PIPE on the fly die Daten und extrahierst sie wieder am Remote-End

Grüße Uwe
Peter5
Peter5 14.02.2023 um 17:52:43 Uhr
Goto Top
Ich habe leider keinen SSH-Zugang.
Ein PHP-Skript, welches per URL-Aufruf eine gezippte Datei entpackt, funktioniert. Aber wie gesagt, nach dem Aufruf aus dem Skript (über chrome.exe) muss ich manuell eingreifen und das Browserfenster schließen, bevor das Skript weiterläuft.

Viele Grüße, Peter
colinardo
colinardo 14.02.2023 aktualisiert um 18:20:15 Uhr
Goto Top
nach dem Aufruf aus dem Skript (über chrome.exe) muss ich manuell eingreifen und das Browserfenster schließen, bevor das Skript weiterläuft.
Mach den lokalen Aufruf statt über den Browser einfach über wget
wget -qO - https://mysite.tld/script.php
oder curl
curl -sL https://mysite.tld/script.php
oder mit der Powershell in der Batch mittels Invoke-WebRequest, dann musst du nicht manuell eingreifen face-wink,
Simples Beispiel mit PS in der Batch
@echo off
powershell -EP Bypass -C "Invoke-WebRequest -Uri 'https://mysite.tld/script.php'"  

Die Möglichkeiten sind vielfältig face-smile.
Peter5
Peter5 14.02.2023 um 18:01:00 Uhr
Goto Top
Ich habe Plesk auf dem Server als Administrationsoberfläche. Gibt es hier als Alternative eine Batch-API, um die Funktionen des Dateimanagers auszuführen?

Viele Grüße, Peter
Peter5
Peter5 14.02.2023 um 18:03:40 Uhr
Goto Top
Vielen Dank Uwe, werde ich ausprobieren.

Viele Grüße, Peter
Peter5
Peter5 15.02.2023 um 14:13:53 Uhr
Goto Top
Vielen Dank Uwe,

das Beispiel mit PS in der Batch hat funktioniert.

Viele Grüße, Peter