Comment lister les fichiers dans un zip dans powershell?

Je suis nouveau sur powershell et en regardant la liste de tous les fichiers contenus dans des fichiers zip dans un répertoire. Je ne veux pas utiliser n'importe quel outil tiers.

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.txt
b.zip:4.txt
c.zip:1.txt
d.zip:10.txt 

et ainsi de suite.

Malheureusement, mon environnement n'est pas 4.5 mais 4.0.
J'ai pu écrire jusqu'à présent code, mais il a encore besoin de beaucoup d'analyse pour nettoyer comme décompresser donne beaucoup d'informations supplémentaires.

$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

Est-il un moyen plus facile à analyser. Il y a beaucoup d'informations supplémentaires dans le unzip-l sortie, comme les en-têtes de Colonne, des séparateurs et des dates et les autres avant la date de chaque nom de fichier.

OriginalL'auteur user487257 | 2013-01-07