Name

Remove-ZipEntry

SYNOPSIS

Supprime une ou des entrées d'une archive

SYNTAX

Remove-ZipEntry -InputObject <Object> [-ZipFile] <ZipFile> [[-Name] <String>] [<CommonParameters>]

Remove-ZipEntry [-ZipFile] <ZipFile> [-Query <String>] [-From <String>] [<CommonParameters>]

DESCRIPTION

Supprime une ou des entrées d'une archive .ZIP ou d'une archive auto extractible .exe.

PARAMETERS

-InputObject <Object>

Contenu associé à une entrée d'archive. Les types attendus sont :

- Un ou des objets de type fichiers ou de type répertoires,

- une chaîne de caractères référençant une entrée, si celle-ci référence un nom de répertoire, elle doit se terminer par le caractère '/',

- un objet de type ZipEntry,

- un tableau d'objet de type ZipEntry,

- un tableau de String ou d'Object, dans ce dernier cas son contenu sera transformé en String.

Tous les autres type de tableaux, autres que ceux indiqué ci-dessus, déclencheront une erreur.

Pour tous les autres types d'objet, ils seront convertis en chaîne de caractères.

Required? True
Position? named
Default value  
Accept pipeline input? true (ByValue)
Accept wildcard characters? False

-ZipFile <ZipFile>

Archive cible dans laquelle on supprime la ou les entrées précisées. Ce paramètre attend un objet de type ZipFile et pas un nom de fichier.

Required? True
Position? 0
Default value  
Accept pipeline input? false
Accept wildcard characters? False

-Name <String>

Chaque entrée d'archive est associèe à un nom dans le catalogue.

Pour les fichiers ou les répertoires, leurs noms sont automatiquement utilisés comme nom d'entrée à la racine de l'archive.

Required? False
Position? 1
Default value  
Accept pipeline input? true (ByPropertyName)
Accept wildcard characters? False

-Query <String>

Précise un critère de recherche pour les données à supprimer de l'archive Zip.

Pour plus d'informations sur l'écriture et la syntaxe de la requête, consultez le fichier d'aide about_Query_Selection_Criteria ou la documentation de la dll Ionic (fichier d'aide .chm).

Attention, il n’y a pas de contrôle de cohérence sur le contenu de la query, par exemple celle-ci 'size <100 byte AND Size>1000 byte' ne provoquera pas d'erreur, mais aucun fichier ne sera sélectionné.

Required? False
Position? named
Default value  
Accept pipeline input? false
Accept wildcard characters? False

-From <String>

Précise le répertoire de l'archive dans lequel seront supprimé les entrées.

Un nom de répertoire dans une archive à la syntaxe suivante :

  'NomRépertoire/' ou 'NomRépertoire/NomDeSousRépertoire/'.

L'usage de ce paramètre nécessite de préciser le paramètre -Query, sinon une exception sera déclenchée.

Required? False
Position? named
Default value  
Accept pipeline input? false
Accept wildcard characters? False

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer, PipelineVariable, and OutVariable.

For more information, see about_CommonParameters.

INPUTS

OUTPUTS

System.Management.Automation.PSObject

NOTES

EXAMPLES

-------------- EXAMPLE 1 --------------

PS C:\> try {         
$ZipFile=Get-Zipfile -Path C:\Temp\Test.zip
Get-Item C:\Temp\Test.ps1|Remove-ZipEntry -ZipFile $ZipFile
} finally {
$ZipFile.Close()
}

Ces instructions suppriment, si elle existe, l'entrée 'Test.ps1' à la racine du fichier Test.zip

-------------- EXAMPLE 2 --------------

PS C:\> try {         
$ZipFile=Get-Zipfile -Path C:\Temp\Test.zip
'Test.ps1'|Remove-ZipEntry -ZipFile $ZipFile
} finally {
$ZipFile.Close()
}

Ces instructions suppriment, si elle existe, l'entrée 'Test.ps1' à la racine du fichier Test.zip

-------------- EXAMPLE 3 --------------

PS C:\> try {         
$ZipFile=Get-Zipfile -Path C:\Temp\Test.zip
$Tab=@('Test.ps1','Setu1.ps1')
,$Tab|Remove-ZipEntry -ZipFile $ZipFile
} finally {
$ZipFile.Close()
}

Ces instructions suppriment, si elles existent, les entrées 'Test.ps1' et 'Setup.ps1', contenues dans le tableau de chaîne de caractères $Tab, à la racine du fichier Test.zip

-------------- EXAMPLE 4 --------------

PS C:\> try {         
$ZipFile=Get-Zipfile -Path C:\Temp\Test.zip
$Tab=@('Test1.ps1';Get-ChildItem *.XML;Get-Content C:\Temp\ListeFileName.txt)
,$Tab|Remove-ZipEntry -ZipFile $ZipFile
} finally {
$ZipFile.Close()
}

Ces instructions suppriment à la racine du fichier Test.zip et si elles existent : - l'entrée 'Test.ps1', - toutes les entrées se terminant par '.XML' et - tous les noms d'entrée contenus dans le fichier 'C:\Temp\ListeFileName.txt'.

-------------- EXAMPLE 5 --------------

PS C:\> try
{          
$ZipFile=Get-ZipFile -path C:\Temp\archive.zip -ZipErrorAction Skip -Verbose 
Remove-ZipEntry -ZipFile $ZipFile -Query 'name = *.txt'
} finally {
$ZipFile.Close()
}

Ces instructions, à l'aide d'une requête, suppriment toutes les entrées se terminant par '.TXT' à la racine du fichier Test.zip'

-------------- EXAMPLE 6 --------------

PS C:\> try
{          
$ZipFile=Get-ZipFile -path C:\Temp\archive.zip -ZipErrorAction Skip -Verbose 
Remove-ZipEntry -ZipFile $ZipFile -Query 'name = *.txt' -From 'Doc/' 
} finally {
$ZipFile.Close()
}

Ces instructions, à l'aide d'une requête, suppriment toutes les entrées se terminant par '.TXT' dans le répertoire 'Doc/' du fichier Test.zip'

RELATED LINKS

Last edited Mar 8, 2014 at 2:44 PM by LaurentDardenne, version 2

Comments

No comments yet.