Add-Content
Ajoute du contenu aux éléments spécifiés, comme l’ajout de mots à un fichier.
Syntaxe
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 de commande Add-Content
ajoute du contenu à un élément ou fichier spécifié. Le contenu peut être transmis à partir du pipeline ou spécifié à l’aide du paramètre Value.
Si vous devez créer des fichiers ou des répertoires pour les exemples suivants, consultez New-Item .
Exemples
Exemple 1 : Ajouter une chaîne à tous les fichiers texte avec une exception
Cet exemple ajoute une valeur aux fichiers texte dans le répertoire actif, mais exclut 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 fichiers .txt
dans le répertoire actif, mais le paramètre Exclure ignore les noms de fichiers qui correspondent au modèle spécifié. Le paramètre Value spécifie la chaîne de texte qui est é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 de commande Add-Content
crée deux nouveaux fichiers dans le répertoire actif. Le paramètre Value contient la sortie de l’applet de commande Get-Date
. Le paramètre PassThru envoie le contenu ajouté au pipeline. Comme il n’existe aucune autre applet de commande pour recevoir la sortie, elle est affichée dans la console PowerShell. L’applet de commande Get-Content
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 de commande
Get-Content
obtient le contenu deCopyFromFile.txt
et stocke le contenu dans la variable$From
. - L’applet de commande
Add-Content
met à jour le fichierCopyToFile.txt
à l’aide du contenu de la variable$From
. - L’applet de commande
Get-Content
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 commande Add-Content
.
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt
L’applet de commande Get-Content
obtient le contenu de CopyFromFile.txt
. Les résultats sont redirigés vers l’applet de commande Add-Content
, qui met à jour le CopyToFile.txt
.
La dernière applet de commande Get-Content
affiche CopyToFile.txt
.
Exemple 5 : Créer un fichier et copier du 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 de commande
Add-Content
utilise les paramètres chemin d’accès et valeur pour créer un fichier dans le répertoire actif. - L’applet de commande
Get-Content
obtient le contenu d’un fichier existant,CopyFromFile.txt
et le transmet au paramètre Value. Les parenthèses autour de l’applet de commandeGet-Content
garantissent que la commande se termine avant le début de la commandeAdd-Content
. - L’applet de commande
Get-Content
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 est défini sur 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 de commande
New-Item
utilise les paramètres chemin d’accès et ItemType pour créer le fichierIsReadOnlyTextFile.txt
dans le répertoire actif. - L’applet de commande
Set-ItemProperty
utilise les paramètres Name et Value pour modifier la propriété IsReadOnly du fichier en Vrai. - L’applet de commande
Get-ChildItem
indique que le fichier est vide (0
) et a l’attribut en lecture seule (r
). - L’applet de commande
Add-Content
utilise le paramètre Path pour spécifier le fichier. Le paramètre Valeur inclut la chaîne de texte à ajouter au fichier. Le paramètre Force écrit le texte dans le fichier en lecture seule. - L’applet de commande
Get-Content
utilise le paramètre Path pour afficher le contenu du fichier.
Pour supprimer l’attribut en lecture seule, utilisez la commande Set-ItemProperty
avec le paramètre Valeur défini sur False
.
Exemple 7 : Utiliser des filtres avec Add-Content
Vous pouvez spécifier un filtre dans l’applet de commande Add-Content
. Lorsque vous utilisez des filtres pour qualifier le paramètre Path, vous devez inclure un astérisque (*
) pour indiquer le contenu du chemin.
La commande suivante ajoute le mot « Terminé » au contenu de tous les fichiers *.txt
dans le répertoire C:\Temp
.
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 en tant que flux d’octets.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
Remarque
Ce paramètre n’est pas pris en charge par les fournisseurs installés 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Encoding
Spécifie le type d’encodage 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 commande Add-Content
. Ce paramètre fonctionne uniquement dans les lecteurs de 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). -
ansi
: Utilise l’encodage de la page de codes ANSI de la culture actuelle. Cette option a été ajoutée dans PowerShell 7.4. -
bigendianunicode
: encode au format UTF-16 avec primauté des octets de poids fort. -
bigendianutf32
: encode au format UTF-32 avec primauté des octets de poids fort. -
oem
: utilise l’encodage par défaut pour les programmes MS-DOS et console. -
unicode
: encode au format UTF-16 avec primauté des octets de poids faible. -
utf7
: encode au format UTF-7. -
utf8
: encode au format UTF-8. -
utf8BOM
: encode au format UTF-8 avec indicateur d'ordre des octets (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 d’encodage autorise également des ID numériques de pages de codes inscrites (comme -Encoding 1251
) ou des noms de chaînes de pages de codes inscrites (comme -Encoding "windows-1251"
). Pour plus d’informations, consultez la documentation .NET pour Encoding.CodePage.
À partir de PowerShell 7.4, vous pouvez utiliser la valeur Ansi
pour l'Encodage afin de transmettre l'ID numérique de la page de codes ANSI de la culture actuelle sans avoir à spécifier l'ID manuellement.
Remarque
UTF-7* n’est plus recommandé d’utiliser. À partir de PowerShell 7.1, un avertissement est écrit si vous spécifiez utf7
pour le paramètre d’encodage .
Type: | Encoding |
Valeurs acceptées: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Valeur par défaut: | UTF8NoBOM |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Exclude
Spécifie, en tant que tableau de chaînes, un élément ou des é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 motif de chemin, tel que *.txt
. Les caractères génériques sont autorisés. Le paramètre Exclure 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 répertoire C:\Windows
.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 plutôt que d’avoir PowerShell filtrer les objets après leur récupération.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-Force
Remplace l’attribut en lecture seule, ce qui vous permet d’ajouter du contenu à un fichier en lecture seule. Par exemple, Force outrepasse l’attribut en lecture seule, mais ne modifie pas les autorisations de fichier.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Include
Spécifie, sous la forme d’un tableau de chaînes, un élément ou des éléments inclus dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un motif de chemin, tel que "*.txt"
. Les caractères génériques sont autorisés. Le paramètre Include n’est effectif que 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 répertoire C:\Windows
.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | True |
-LiteralPath
Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement comme elle est typé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 séquences d’échappement.
Pour plus d'informations, voir about_Quoting_Rules.
Type: | String[] |
Alias: | PSPath, LP |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-NoNewline
Indique que cette cmdlet n'ajoute pas de nouvelle ligne ou de retour 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 caractères de sortie.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-PassThru
Retourne un objet représentant le contenu ajouté. Par défaut, cette applet de commande ne génère aucune sortie.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Path
Spécifie le chemin d’accès aux éléments qui reçoivent le contenu supplémentaire. Les caractères génériques sont autorisés. Les chemins d’accès doivent être des chemins d’accès aux éléments, et non aux conteneurs. Par exemple, vous devez spécifier un chemin d’accès à un ou plusieurs fichiers, et non un chemin d’accès à un répertoire. Si vous spécifiez plusieurs chemins, utilisez des virgules pour séparer les chemins.
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Stream
Remarque
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 la 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 de système de fichiers.
Vous pouvez utiliser l’applet de commande Add-Content
pour modifier le contenu d’un autre flux de données, tel que Zone.Identifier
. Toutefois, nous vous déconseillons de procéder comme moyen d’é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 commande Unblock-File
.
Ce paramètre a été introduit dans PowerShell 3.0. À partir de PowerShell 7.2, Add-Content
pouvez cibler d’autres flux de données sur les fichiers et les répertoires.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Value
Spécifie le contenu à ajouter. Tapez une chaîne entre guillemets, telle que Ces données sont destinées à une utilisation interne uniquement, ou spécifiez un objet qui contient du contenu, tel que l’objet DateTime généré par Get-Date
.
Vous ne pouvez pas spécifier le contenu d’un fichier en tapant son chemin d’accès, car le chemin d’accès n’est qu’une chaîne.
Vous pouvez utiliser une commande Get-Content
pour obtenir le contenu et le transmettre au paramètre Valeur.
Type: | Object[] |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger les valeurs vers Add-Content
.
Vous pouvez acheminer les informations d’identification vers Add-Content
.
Sorties
None
Par défaut, cette applet de commande ne retourne aucune sortie.
Lorsque vous utilisez le paramètre PassThru, cette applet de commande retourne un objet System.String représentant le contenu.
Notes
PowerShell inclut les alias suivants pour Add-Content
:
Windows:
ac
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 chaîne, mais le format peut être différent de l’affichage par défaut de l’objet. Pour contrôler le format de chaîne, utilisez les paramètres de mise en forme de l’applet de commande d’envoi.L’applet de commande
Add-Content
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, voir about_Providers.