- forum
- PowerShell
- Entraide pour les débutants
- Zipper avec l'assembly net en filtrant sur des types de fichiers
Résolu
Zipper avec l'assembly net en filtrant sur des types de fichiers
- kroum
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 62
- Remerciements reçus 2
il y a 1 an 4 mois - il y a 1 an 4 mois #32853
par kroum
Bonjour,
Je voudrais zipper des fichiers qui sont localisés dans un répertoire
mais j'aimerai utiliser a tout prix l'assembly System.IO.Compression.FileSystem pour créer un zip
car avec la commande Compress-Archive , le process prend énormément de temps et consomme énormément de mémoire
Anciennement "a eviter":
voilà mon début de script
mais je sèche pour filtrer sur les extensions
Merci de votre aide
Je voudrais zipper des fichiers qui sont localisés dans un répertoire
mais j'aimerai utiliser a tout prix l'assembly System.IO.Compression.FileSystem pour créer un zip
car avec la commande Compress-Archive , le process prend énormément de temps et consomme énormément de mémoire
Anciennement "a eviter":
Compress-Archive "D:\CF\Undelivr\*.cfmail" -DestinationPath "D:\Mail\Undelivr\$name" -CompressionLevel Optimal
voilà mon début de script
mais je sèche pour filtrer sur les extensions
$source="D:\CF\Undelivr\*.cfmail"
$dest="D:\Mail\Undelivr\$name"
# Compression level. Optimal means smallest size, even if it takes a little longer to compress
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
# Whether or not to include root directory (if zipping a directory) in the archive
$includeBaseDirectory = $True
Add-Type -AssemblyName System.IO.Compression.FileSystem
[System.IO.Compression.ZipFile]::CreateFromDirectory("$source","$dest",$compressionLevel,$includeBaseDirectory)
Merci de votre aide
Dernière édition: il y a 1 an 4 mois par kroum.
Connexion ou Créer un compte pour participer à la conversation.
- kroum
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 62
- Remerciements reçus 2
il y a 1 an 4 mois #32854
par kroum
Réponse de kroum sur le sujet Zipper avec l'assembly net en filtrant sur des types de fichiers
complément d'info:
j'aimerai zipper des fichiers présent dans un répertoire mais uniquement les fichiers
avec l'extension *.cfmail, car a terme ce répertoire contiendra des zip
Merci
j'aimerai zipper des fichiers présent dans un répertoire mais uniquement les fichiers
avec l'extension *.cfmail, car a terme ce répertoire contiendra des zip
Merci
Connexion ou Créer un compte pour participer à la conversation.
- kroum
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 62
- Remerciements reçus 2
il y a 1 an 4 mois - il y a 1 an 4 mois #32855
par kroum
Réponse de kroum sur le sujet Zipper avec l'assembly net en filtrant sur des types de fichiers
Bon finalement, j'ai trouvé une solution ,pas simple mais fonctionnel
Dans un premier temps ,c'est de créer une archive vide
Dans un premier temps ,c'est de créer une archive vide
$name=get-date -Format "yyyyMMdd_HHmmss"
$source="D:\CF\Undelivr\*.cfmail"
#Créer une archive vide à un emplacement
$zipFilePath = "D:\CF\Undelivr\"+$name
$zip = [System.IO.Compression.ZipFile]::Open($zipFilePath, 'create')
#close the locks on that file
$zip.Dispose()
#Activer le mode update
$zip = [System.IO.Compression.ZipFile]::Open($zipFilePath, 'update')
#permet d'ajouter les fichiers en filtrant sur l'extension souhaité
Get-ChildItem $source| ForEach-Object {[System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zip, $_.FullName, (Split-Path $_.FullName -Leaf), $compressionLevel)}
$zip.Dispose()
Dernière édition: il y a 1 an 4 mois par kroum.
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Zipper avec l'assembly net en filtrant sur des types de fichiers
Temps de génération de la page : 0.065 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Zipper avec l'assembly net en filtrant sur des types de fichiers