Partager via


Out-File

Envoie la sortie à un fichier.

Syntaxe

ByPath (Par défaut)

Out-File
    [-FilePath] <string>
    [[-Encoding] <string>]
    [-Append]
    [-Force]
    [-NoClobber]
    [-Width <int>]
    [-NoNewline]
    [-InputObject <psobject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ByLiteralPath

Out-File
    [[-Encoding] <string>]
    -LiteralPath <string>
    [-Append]
    [-Force]
    [-NoClobber]
    [-Width <int>]
    [-NoNewline]
    [-InputObject <psobject>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande Out-File envoie la sortie à un fichier. Lorsque vous devez spécifier des paramètres pour la sortie, utilisez Out-File plutôt que l’opérateur de redirection (>).

Exemples

Exemple 1 : Envoyer une sortie et créer un fichier

Cet exemple montre comment envoyer une liste des processus de l’ordinateur local à un fichier. Si le fichier n’existe pas, Out-File crée le fichier dans le chemin d’accès spécifié.

Get-Process | Out-File -FilePath .\Process.txt
Get-Content -Path .\Process.txt
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     29    22.39      35.40      10.98   42764   9 Application
     53    99.04     113.96       0.00   32664   0 CcmExec
     27    96.62     112.43     113.00   17720   9 Code

L’applet de commande Get-Process obtient la liste des processus en cours d’exécution sur l’ordinateur local. Les objets Process sont envoyés au pipeline à l’applet de commande Out-File. Out-File utilise le paramètre FilePath et crée un fichier dans le répertoire actif nommé Process.txt. La commande Get-Content obtient le contenu du fichier et l’affiche dans la console PowerShell.

Exemple 2 : Empêcher un fichier existant d’être remplacé

Cet exemple empêche le remplacement d’un fichier existant. Par défaut, Out-File remplace les fichiers existants.

Get-Process | Out-File -FilePath .\Process.txt -NoClobber
Out-File : The file 'C:\Test\Process.txt' already exists.
At line:1 char:15
+ Get-Process | Out-File -FilePath .\Process.txt -NoClobber
+               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

L’applet de commande Get-Process obtient la liste des processus en cours d’exécution sur l’ordinateur local. Les objets Process sont envoyés au pipeline à l’applet de commande Out-File. Out-File utilise le paramètre FilePath et tente d’écrire dans un fichier dans le répertoire actif nommé Process.txt. Le paramètre NoClobber empêche le fichier d’être remplacé et affiche un message indiquant que le fichier existe déjà.

Exemple 3 : Envoyer la sortie à un fichier au format ASCII

Cet exemple montre comment encoder la sortie avec un type d’encodage spécifique.

$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50

L’applet de commande Get-Process obtient la liste des processus en cours d’exécution sur l’ordinateur local. Les objets Process sont stockés dans la variable, $Procs. Out-File utilise le paramètre FilePath et crée un fichier dans le répertoire actif nommé Process.txt. Le paramètre InputObject transmet les objets de processus dans $Procs au fichier Process.txt. Le paramètre d’encodage convertit la sortie au format ASCII. Le paramètre Width limite chaque ligne du fichier à 50 caractères afin que certaines données puissent être tronquées.

Exemple 4 : Utiliser un fournisseur et envoyer une sortie à un fichier

Cet exemple montre comment utiliser l’applet Out-File de commande lorsque vous n’êtes pas dans un lecteur de fournisseur de système de fichiers . Utilisez l’applet de commande Get-PSProvider pour afficher les fournisseurs sur votre ordinateur local. Pour plus d’informations, voir about_Providers.

PS> Set-Location -Path Alias:

PS> Get-Location

Path
----
Alias:\

PS> Get-ChildItem | Out-File -FilePath C:\TestDir\AliasNames.txt

PS> Get-Content -Path C:\TestDir\AliasNames.txt

CommandType     Name
-----------     ----
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           cat -> Get-Content

La commande Set-Location utilise le paramètre Path pour définir l’emplacement actuel sur le fournisseur de Registre Alias:. L’applet de commande Get-Location affiche le chemin d’accès complet de Alias:. Get-ChildItem envoie des objets vers le pipeline à l’applet de commande Out-File. Out-File utilise le paramètre FilePath pour spécifier le chemin d’accès complet et le nom de fichier de la sortie, C:\TestDir\AliasNames.txt. L’applet de commande Get-Content utilise le paramètre path et affiche le contenu du fichier dans la console PowerShell.

Paramètres

-Append

Ajoute la sortie à la fin d’un fichier existant. Si aucun encodage n’est spécifié, l’applet de commande utilise l’encodage par défaut. Cet encodage peut ne pas correspondre à l’encodage du fichier cible. Il s’agit du même comportement que l’opérateur de redirection (>>).

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Encoding

Spécifie le type d’encodage du fichier cible. La valeur par défaut est Unicode .

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • ASCII utilise un jeu de caractères ASCII (7 bits).
  • BigEndianUnicode utilise UTF-16 avec l’ordre d’octet big-endian.
  • par défaut utilise l’encodage qui correspond à la page de codes active du système (généralement ANSI).
  • oem utilise l’encodage correspondant à la page de codes OEM actuelle du système.
  • Chaîne Identique à Unicode .
  • l' Unicode utilise UTF-16 avec l’ordre d’octet little-endian.
  • inconnu identique à Unicode .
  • UTF7 utilise UTF-7.
  • UTF8 utilise UTF-8.
  • UTF32 utilise UTF-32 avec l’ordre d’octet little-endian.

Propriétés du paramètre

Type:String
Valeur par défaut:Unicode
Valeurs acceptées:ASCII, BigEndianUnicode, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FilePath

Spécifie le chemin d’accès au fichier de sortie.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ByPath
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Force

Remplace l’attribut en lecture seule et remplace un fichier en lecture seule existant. Le paramètre Forcer ne remplace pas les restrictions de sécurité.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-InputObject

Spécifie les objets à écrire dans le fichier. Entrez une variable qui contient les objets ou tapez une commande ou une expression qui obtient les objets.

Propriétés du paramètre

Type:PSObject
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LiteralPath

Spécifie le chemin d’accès au fichier de sortie. Le paramètre LiteralPath est utilisé exactement tel qu’il a été tapé. Les caractères génériques ne sont pas acceptés. 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 la section sur les règles de citation.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:PSPath

Jeux de paramètres

ByLiteralPath
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-NoClobber

NoClobber empêche un fichier existant d’être remplacé et affiche un message indiquant que le fichier existe déjà. Par défaut, si un fichier existe dans le chemin d’accès spécifié, Out-File remplace le fichier sans avertissement.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:NoOverwrite

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NoNewline

Spécifie que le contenu écrit dans le fichier ne se termine pas par un caractère de saut de ligne. 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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Width

Spécifie le nombre de caractères dans chaque ligne de sortie. Tous les caractères supplémentaires sont tronqués, et non encapsulés. Si ce paramètre n’est pas utilisé, la largeur est déterminée par les caractéristiques de l’hôte. La valeur par défaut de la console PowerShell est de 80 caractères.

Propriétés du paramètre

Type:Int
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

PSObject

Vous pouvez diriger n’importe quel objet vers Out-File.

Sorties

None

Out-File ne génère aucune sortie.

Notes

Les Out applets de commande ne formatent pas les objets, elles se contentent de les afficher et de les envoyer à la destination d’affichage spécifiée. Si vous envoyez un objet non mis en forme à une applet de commande Out, l’applet de commande l’envoie à une applet de commande de mise en forme avant de la rendre.

Pour envoyer la sortie d’une commande PowerShell à l’applet de commande Out-File, utilisez le pipeline. Vous pouvez stocker des données dans une variable et utiliser le paramètre InputObject pour transmettre des données à l’applet Out-File de commande.

Out-File Envoie des données, mais il ne produit aucun objet de sortie. Si vous redirigez la sortie vers Out-File , Get-Memberl’applet Get-Member de commande signale qu’aucun objet n’a été spécifié.