Sponsor-Board.de

Normale Version: [Windows] Powershell Unzip File
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Abend,

ich hab nun eine weitere Frage zu Powershell. Und zwar möchte ich in einer Batch Datei einen Powershell Kommando ausführen, das eine .zip Datei entpacken soll und anschließend die .zip Datei löscht.
Gibt es dazu evtl. eine Möglichkeit? Ich möchte keine Zusatz Dateien extra dafür downloaden.

Im Internet habe ich zwar bisschen was dazu gefunden, aber hatte alles nicht geholfen ..

LG, Justin

Code:
$cmd = new-object -com shell.application
$unzip = $cmd.NameSpace(“C:\pfad\zum\archiv.zip”)
foreach($item in $unzip.items())
{
$cmd.Namespace(“C:\pfad\zum\zielprdner”).copyhere($item)
}


Schnell und einfach.

Kartoffelrudi

-

Christopher schrieb:

Code:
$cmd = new-object -com shell.application
$unzip = $cmd.NameSpace(“C:\pfad\zum\archiv.zip”)
foreach($item in $unzip.items())
{
$cmd.Namespace(“C:\pfad\zum\zielprdner”).copyhere($item)
}


Schnell und einfach.

wunderbar, aber wie kann ich diese Ausführen? Denn intensiv habe ich nie mit Powershell gearbeitet.
Denn das ganze führe ich in einer .bat Datei aus. Und dort muss immer alles soweit in einer Zeile stehen wenn möglich, wie z. B. mein Download:

Code:
powershell -command "& { iwr http://www.meine-domain.de/ordner/htdocs.zip -OutFile C:\Ordner\htdocs.zip }


Daher benötige ich dafür Hilfe :/

LG, Justin

Kartoffelrudi

-

Kartoffelrudi schrieb:
Die ausführenden Parameter stehen in einer Zeile, alles was mit $ beginnt sind Variablen und die werden von oben nach unten abgearbeitet.


Also muss ich z. B. in meiner .bat Datei einfach

Code:
$cmd = new-object -com shell.application
$unzip = $cmd.NameSpace(“C:\pfad\zum\archiv.zip”)
foreach($item in $unzip.items())
{
$cmd.Namespace(“C:\pfad\zum\zielprdner”).copyhere($item)
}


einfügen und fertig? (Pfade müssten angepasst werden)

LG, Justin

Kartoffelrudi

-
PowerShell wird in einer .ps1 Datei ausgeführt. Windows 7 und Windows 8 bringen eine ISE dafür mit. Die macht es recht einfach Scripte zu schreiben und zu testen.

Wenn du mein Codebeispiel oben in eine .ps1 packst, PowerShell Scripte ausführbar machst und das Ding anschließend ausführst wird das so abgearbeitet.

Wenn du mit PowerShell gerade erst anfängst, ist [Link: Registrierung erforderlich] eine ganz interessante Sache. Im TechNet findest du auch Hilfe zu den einzelnen Befehlen mit Beispielen usw.

PowerShell Scriptausführung erlauben:

Zitat:
Da es sich um ein unsigniertes PowerShell Script handelt, muss PowerShell unsignierte Scripte ausführen können. Sollte dies nicht schon aktiviert sein, öffnen Sie die PowerShell Konsole als Administrator und führen Sie den folgenden Code aus: Set-ExecutionPolicy Unrestricted. Sofern das Script nicht als Administrator ausgeführt werden soll, melden Sie sich mit dem ausführenden Benutzer an und öffnen Sie die PowerShell Konsole als Administrator. Geben Sie den folgenden Befehl ein: Set-ExecutionPolicy -Scope CurrentUser. Anschließend fragt die Konsole nach der Ausführungsrichtlinie. Geben Sie dort Unrestricted ein.

Danke für die Antworten Wink
Jedoch wollte ich jetzt kein großen Aufstand machen nur um eine .zip Datei entpacken zu können.
Denn das soll für mehrere Personen, und ich denke nicht das die sich damit großartig auskennen ^^

Ich hab also mir die unzip.exe besorgt und diese dann eingebunden Wink

LG, Justin

*** THREAD BITTE SCHLIESSEN ***
Referenz-URLs