Ich bin neu in Powershell und suchen, um alle Dateien aufzulisten, die in ZIP-Dateien in einem Verzeichnis enthalten sind. Ich möchte kein Drittanbieter-Tool verwenden.Wie listet man die Dateien in einer Powershell in zip auf?
Structure of the directory is
mydir > dir
a.zip
b.zip
c.zip
with each file containing files named 1.txt or 2.txt or 3.txt
I am trying to get an output in the form
a.zip:1.txt
a.zip:2.txt
b.zip:files\3.txt
b.zip:4.txt
c.zip:1.txt
d.zip:10.txt
und so weiter.
Leider ist meine Umgebung nicht 4,5, sondern 4,0. Ich war in der Lage, diesen Code zu schreiben, aber es braucht noch viel Parsing für Aufräumen als unzip gibt eine Menge zusätzlicher Informationen.
$packagedir="C:\Packages"
$unzipcmd = "c:\bins\unzip.exe -l"
$unmatchstr = "*Archive*"
pushd .
cd $packagedir
$filelist= Get-ChildItem -Recurse | Select-Object -ExpandProperty FullName
foreach ($item in $filelist)
{$ziplist = Invoke-Expression "$unzipcmd $item";
foreach ($item2 in $ziplist)
{
if ($item2.Contains("Archive"))
{
}
else
{
echo $item "::" $item2}}
}
popd
Gibt es eine einfachere Möglichkeit, dies zu analysieren. Es gibt viele zusätzliche Informationen in der Ausgabe von unzip-l, wie Spaltenüberschriften, Trennzeichen und Datumsangaben und ein anderes Datum vor jedem Dateinamen.
http://www.minasi.com/forum/topic.asp?TOPIC_ID=26804 –
http://learningpcs.blogspot.com/2010/07/powershell-working-with-zip-files.html –