3 votes

powershell - extraire le type de fichier d'un zip

J'ai un fichier zip avec un nom de fichier aléatoire qui est enfermé dans un fichier zip au nom aléatoire. Je suis en train de peaufiner l'exemple de code suivant :

$shell = new-object -com shell.application
 $zip = $shell.NameSpace(“C:\howtogeeksite.zip”)
foreach($item in $zip.items())
 {
 $shell.Namespace(“C:\temp\howtogeek”).copyhere($item)
 }

Le fichier zip externe contient quelques centaines de fichiers dont je n'ai pas besoin, plus ce fichier zip interne. Comment puis-je affiner le code source ci-dessus pour ne saisir que le fichier zip interne (il pourrait simplement extraire tous les fichiers du fichier zip externe dont l'extension est .zip) ? Veuillez me conseiller la manière la plus simple de le faire. Merci !

2voto

nimizen Points 1625

Vous devez itérer sur le contenu en vérifiant si l'extension de fichier de chaque élément est ".zip" avant d'extraire. Quelque chose comme ceci devrait fonctionner :

$shell = new-object -com shell.application
$zip = $shell.NameSpace(“C:\howtogeeksite.zip”)

foreach($item in $zip.items()){

    if([System.IO.Path]::GetExtension($item.Path) -eq ".zip"){

        $shell.Namespace(“C:\temp\howtogeek”).copyhere($item)

    }

}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X