Add-Content
Ajoute le contenu aux éléments spécifiés (ajout de mots à un fichier, par exemple).
Syntax
Add-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
Add-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
Description
L’applet Add-Content
de commande ajoute du contenu à un élément ou fichier spécifié. Vous pouvez spécifier le contenu en le tapant dans la commande ou en spécifiant un objet renfermant le contenu.
Si vous devez créer des fichiers ou des répertoires pour les exemples suivants, consultez Nouvel élément.
Exemples
Exemple 1 : Ajouter une chaîne à tous les fichiers texte avec une exception
Cet exemple montre comment ajouter une valeur aux fichiers texte du répertoire actif, mais exclure les fichiers en fonction de leur nom de fichier.
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Le paramètre Path spécifie tous les .txt
fichiers du répertoire actif, mais le paramètre Exclude ignore les noms de fichiers qui correspondent au modèle spécifié. Le paramètre Value spécifie la chaîne de texte écrite dans les fichiers.
Utilisez Get-Content pour afficher le contenu de ces fichiers.
Exemple 2 : Ajouter une date à la fin des fichiers spécifiés
Cet exemple montre comment ajouter la date aux fichiers du répertoire actif et afficher la date dans la console PowerShell.
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM
L’applet Add-Content
de commande crée deux nouveaux fichiers dans le répertoire actif. Le paramètre Value contient la sortie de l’applet Get-Date
de commande. Le paramètre PassThru génère le contenu ajouté au pipeline. Étant donné qu’il n’existe aucune autre applet de commande pour recevoir la sortie, elle s’affiche dans la console PowerShell. L’applet Get-Content
de commande affiche le fichier mis à jour, DateTimeFile1.log
.
Exemple 3 : Ajouter le contenu d’un fichier spécifié à un autre fichier
Cet exemple obtient le contenu d’un fichier et stocke le contenu dans une variable. La variable est utilisée pour ajouter le contenu dans un autre fichier.
$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
- L’applet
Get-Content
de commande obtient le contenu deCopyFromFile.txt
et stocke le contenu dans la$From
variable. - L’applet
Add-Content
de commande met à jour leCopyToFile.txt
fichier à l’aide du contenu de la$From
variable. - L’applet
Get-Content
de commande affiche CopyToFile.txt.
Exemple 4 : Ajouter le contenu d’un fichier spécifié à un autre fichier à l’aide du pipeline
Cet exemple obtient le contenu d’un fichier et le dirige vers l’applet de Add-Content
commande.
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt
L’applet Get-Content
de commande obtient le contenu de CopyFromFile.txt
. Les résultats sont dirigés vers l’applet Add-Content
de commande, qui met à jour le CopyToFile.txt
.
La dernière Get-Content
applet de commande affiche CopyToFile.txt
.
Exemple 5 : Create un nouveau fichier et copier le contenu
Cet exemple crée un fichier et copie le contenu d’un fichier existant dans le nouveau fichier.
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
- L’applet
Add-Content
de commande utilise les paramètres Path et Value pour créer un fichier dans le répertoire actif. - L’applet
Get-Content
de commande obtient le contenu d’un fichierCopyFromFile.txt
existant et le transmet au paramètre Value . Les parenthèses autour de l’appletGet-Content
de commande garantissent que la commande se termine avant le début de laAdd-Content
commande. - L’applet
Get-Content
de commande affiche le contenu du nouveau fichier,NewFile.txt
.
Exemple 6 : Ajouter du contenu à un fichier en lecture seule
Cette commande ajoute une valeur au fichier même si l’attribut de fichier IsReadOnly a la valeur True. Les étapes de création d’un fichier en lecture seule sont incluses dans l’exemple.
New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar-- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
- L’applet
New-Item
de commande utilise les paramètres Path et ItemType pour créer le fichierIsReadOnlyTextFile.txt
dans le répertoire actif. - L’applet
Set-ItemProperty
de commande utilise les paramètres Name et Value pour remplacer la propriété IsReadOnly du fichier par True. - L’applet
Get-ChildItem
de commande indique que le fichier est vide (0
) et a l’attribut lecture seule (r
). - L’applet
Add-Content
de commande utilise le paramètre Path pour spécifier le fichier. Le paramètre Value inclut la chaîne de texte à ajouter au fichier. Le paramètre Force écrit le texte dans le fichier en lecture seule. - L’applet
Get-Content
de commande utilise le paramètre Path pour afficher le contenu du fichier.
Pour supprimer l’attribut en lecture seule, utilisez la Set-ItemProperty
commande avec le paramètre Value défini sur False
.
Exemple 7 : Utiliser des filtres avec Add-Content
Vous pouvez spécifier un filtre pour l’applet de Add-Content
commande. Lorsque vous utilisez des filtres pour qualifier le paramètre Path , vous devez inclure un astérisque de fin (*
) pour indiquer le contenu du chemin.
La commande suivante ajoute le mot « Terminé » le contenu de tous les *.txt
fichiers du C:\Temp
répertoire.
Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"
Paramètres
-AsByteStream
Spécifie que le contenu doit être lu sous la forme d’un flux d’octets. Ce paramètre a été introduit dans PowerShell 6.0.
Un avertissement se produit lorsque vous utilisez le paramètre AsByteStream avec le paramètre Encoding . Le paramètre AsByteStream ignore tout encodage et la sortie est retournée sous la forme d’un flux d’octets.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Notes
Ce paramètre n’est pris en charge par aucun fournisseur installé avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Spécifie le type de codage du fichier cible. La valeur par défaut est utf8NoBOM
.
L’encodage est un paramètre dynamique que le fournisseur FileSystem ajoute à l’applet de Add-Content
commande. Ce paramètre fonctionne uniquement dans les lecteurs du système de fichiers.
Les valeurs acceptables pour ce paramètre sont les suivantes :
ascii
: utilise l’encodage pour le jeu de caractères ASCII (7 bits).bigendianunicode
: encode au format UTF-16 à l’aide de l’ordre d’octets big-endian.bigendianutf32
: encode au format UTF-32 à l’aide de l’ordre d’octet big-endian.oem
: utilise l’encodage par défaut pour les programmes MS-DOS et console.unicode
: encode au format UTF-16 à l’aide de l’ordre d’octets little endian.utf7
: encode au format UTF-7.utf8
: encode au format UTF-8.utf8BOM
: encode au format UTF-8 avec marque d’ordre d’octet (BOM)utf8NoBOM
: encode au format UTF-8 sans marque d’ordre d’octet (BOM)utf32
: encode au format UTF-32.
À compter de PowerShell 6.2, le paramètre Encodage autorise également les ID numériques des pages de code inscrites (comme -Encoding 1251
) ou les noms de chaîne des pages de code inscrites (comme -Encoding "windows-1251"
). Pour plus d’informations, consultez la documentation .NET pour Encoding.CodePage.
Notes
Il n’est plus recommandé d’utiliser UTF-7*. À partir de PowerShell 7.1, un avertissement est écrit si vous spécifiez utf7
pour le paramètre Encodage .
Type: | Encoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | UTF8NoBOM |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Spécifie, en tant que tableau de chaînes, un ou plusieurs éléments que cette applet de commande exclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, tel que *.txt
. Les caractères génériques sont autorisés. Le paramètre Exclude est effectif uniquement lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*
, où le caractère générique spécifie le contenu du C:\Windows
répertoire.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Spécifie un filtre pour qualifier le paramètre Path . Le fournisseur FileSystem est le seul fournisseur PowerShell installé qui prend en charge l’utilisation de filtres. Vous trouverez la syntaxe du langage de filtre FileSystem dans about_Wildcards. Les filtres sont plus efficaces que d’autres paramètres, car le fournisseur les applique lorsque l’applet de commande obtient les objets au lieu de laisser PowerShell filtrer les objets après leur récupération.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Remplace l'attribut de lecture seule pour que vous puissiez ajouter le contenu à un fichier en lecture seule. Par exemple, Force remplace l’attribut en lecture seule, mais ne modifie pas les autorisations de fichier.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Spécifie, en tant que tableau de chaînes, un ou plusieurs éléments que cette applet de commande inclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, tel que "*.txt"
. Les caractères génériques sont autorisés. Le paramètre Include est efficace uniquement lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*
, où le caractère générique spécifie le contenu du C:\Windows
répertoire.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement telle qu’elle est tapée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme des séquences d’échappement.
Pour plus d’informations, consultez about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Indique que cette applet de commande n’ajoute pas de nouveau retour de ligne ou chariot au contenu.
Les représentations sous forme de chaîne des objets d’entrée sont concaténées pour former la sortie. Aucun espace ou nouvelle ligne n’est inséré entre les chaînes de sortie. Aucune nouvelle ligne n’est ajoutée après la dernière chaîne de sortie.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Retourne un objet qui représente le contenu ajouté. Par défaut, cette applet de commande ne génère aucun résultat.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Spécifie le chemin d'accès aux éléments recevant le contenu supplémentaire. Les caractères génériques sont autorisés. Les chemins d'accès doivent être ceux des éléments et non des conteneurs. Par exemple, vous devez spécifier un chemin d'accès à un ou plusieurs fichiers et non à un répertoire. Si vous spécifiez plusieurs chemins d'accès, séparez-les à l'aide de virgules.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Stream
Notes
Ce paramètre est disponible uniquement sur Windows.
Spécifie un autre flux de données pour le contenu. Si le flux n’existe pas, cette applet de commande le crée. Les caractères génériques ne sont pas pris en charge.
Stream est un paramètre dynamique que le fournisseur FileSystem ajoute à Add-Content
. Ce paramètre fonctionne uniquement dans les lecteurs du système de fichiers.
Vous pouvez utiliser l’applet Add-Content
de commande pour modifier le contenu d’un autre flux de données, tel que Zone.Identifier
. Toutefois, nous déconseillons cette option pour éliminer les contrôles de sécurité qui bloquent les fichiers téléchargés à partir d’Internet. Si vous vérifiez qu’un fichier téléchargé est sécurisé, utilisez l’applet de Unblock-File
commande .
Ce paramètre a été introduit dans PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Spécifie le contenu à ajouter. Tapez une chaîne entre guillemets, telle que Les données sont destinées à un usage interne uniquement, ou spécifiez un objet qui contient du contenu, tel que l’objet DateTime qui Get-Date
génère.
Vous ne pouvez pas spécifier le contenu d’un fichier en tapant son chemin d’accès, car il s’agit simplement d’une chaîne.
Vous pouvez utiliser une Get-Content
commande pour obtenir le contenu et le passer au paramètre Value .
Type: | Object[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
System.Object, System.Management.Automation.PSCredential
Vous pouvez diriger des valeurs, des chemins ou des informations d’identification vers Set-Content
.
Sorties
None or System.String
Lorsque vous utilisez le paramètre PassThru , Add-Content
génère un objet System.String qui représente le contenu. Sinon, cette applet de commande ne génère aucune sortie.
Notes
- Lorsque vous dirigez un objet vers
Add-Content
, l’objet est converti en chaîne avant d’être ajouté à l’élément. Le type d'objet détermine le format de la chaîne, mais le format peut être différent de l'affichage par défaut de l'objet. Pour contrôler le format de la chaîne, utilisez les paramètres de formatage de l'applet de commande d'envoi. - Vous pouvez également faire référence à par
Add-Content
son alias intégré,ac
. Pour plus d’informations, consultez about_Aliases. - L’applet
Add-Content
de commande est conçue pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapezGet-PSProvider
. Pour plus d'informations, consultez about_Providers.