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 de commande ajoute du Add-Content 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 .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. Comme il n’existe aucune autre applet de commande pour recevoir la sortie, elle est affichée 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 et CopyFromFile.txt stocke le contenu dans la $From variable.
  • L’applet Add-Content de commande met à jour le CopyToFile.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 Add-Content de 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 redirigés vers l’applet Add-Content de commande, qui met à jour le CopyToFile.txt. La dernière Get-Content applet de commande s’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 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 fichier CopyFromFile.txt existant et la transmet au paramètre Value . Les parenthèses autour de l’applet Get-Content de commande garantissent que la commande se termine avant le début de la Add-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 fichier IsReadOnlyTextFile.txt dans le répertoire actif.
  • L’applet Set-ItemProperty de commande utilise les paramètres Nom et Valeur 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 en 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 à l’applet Add-Content de 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é » au 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 en tant que 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

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
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 Add-Content de 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’octet 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’octet 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 d’encodage autorise également les ID numériques des pages de codes inscrites (par -Encoding 1251exemple) ou des noms de chaînes de pages de codes inscrites (par exemple -Encoding "windows-1251"). Pour plus d’informations, consultez la documentation .NET pour Encoding.CodePage.

Remarque

UTF-7* n’est plus recommandé à utiliser. À partir de PowerShell 7.1, un avertissement est écrit si vous spécifiez utf7 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 é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 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, par C:\Windows\*exemple, où le caractère générique carte 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_Wild carte s. 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
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, 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 modèle de chemin d’accès, tel que "*.txt". Les caractères génériques sont autorisés. Le paramètre Include est effectif uniquement lorsque la commande inclut le contenu d’un élément, par C:\Windows\*exemple, où le caractère générique carte 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 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, 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 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 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 aucune sortie.

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

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 carte ne sont pas pris en charge.

Stream est un paramètre dynamique auquel 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 vous déconseillons d’éliminer les case activée 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. À partir de PowerShell 7.2, Add-Content peut cibler d’autres flux de données sur les fichiers et les répertoires.

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 ces données sont destinées à une utilisation 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 le chemin d’accès n’est qu’une chaîne. Vous pouvez utiliser une Get-Content commande pour obtenir le contenu et le transmettre 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

Object

Vous pouvez diriger les valeurs vers Add-Content.

PSCredential

Vous pouvez diriger les informations d’identification vers Add-Content.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

String

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 , l’objet Add-Contentest 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.

  • 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, tapez Get-PSProvider. Pour plus d’informations, consultez about_Providers.