Commandes PowerShell pour l'écriture dans des fichiers : un guide complet

Dernière mise à jour: 30/07/2025
Auteur: Isaac
  • PowerShell vous permet de créer, modifier et gérer facilement des fichiers texte et binaires à l'aide d'applets de commande spécifiques.
  • Commandes tels que Set-Content, Add-Content et Out-File offrent différentes manières d'écrire ou d'ajouter des informations aux fichiers, en s'adaptant aux besoins de chaque utilisateur.
  • L’intégration de PowerShell avec les objets .NET et la possibilité de travailler avec des autorisations précises élargissent considérablement la polyvalence de la gestion des fichiers.

Commandes Powershell pour écrire dans les fichiers

Être capable d'écrire, de modifier et de manipuler des fichiers à partir de PowerShell Il s’agit d’une compétence fondamentale pour les administrateurs système et tout utilisateur qui aspire à automatiser les processus. Windows. La console PowerShell n’est pas seulement une alternative à la console classique symbole du système; est un environnement de script complet qui ouvre les portes d'une gestion de fichiers avancée et efficace, adaptée aux tâches simples comme plus complexes.

Apprenez les commandes et techniques clés pour travailler avec des fichiers à partir de PowerShell vous permettra d'aller bien au-delà des fonctionnalités de base offertes par l'interface graphique. Vous trouverez ci-dessous un guide détaillé et actualisé des applets de commande et méthodes d'écriture dans des fichiers texte et binaires les plus polyvalents, ainsi que des exemples pratiques et des ressources. bon Ruses pour optimiser votre quotidien avec PowerShell.

Options d'écriture dans des fichiers avec PowerShell

PowerShell dispose de plusieurs applets de commande et méthodes pour générer des fichiers, éditer leur contenu et les manipuler selon vos besoins. Les plus utilisés et utiles pour ces tâches sont :

  • Ensemble-Contenu: Écrit ou remplace le contenu d'un fichier.
  • Ajouter du contenu: Ajoute du contenu supplémentaire à la fin d'un fichier sans supprimer ce qu'il contient déjà.
  • Fichier sortant: Redirige la sortie de n'importe quelle commande vers un fichier.
  • StreamWriter et d’autres méthodes .NET – pour les situations qui nécessitent plus de contrôle.

Chacune de ces applets de commande possède des paramètres et des nuances intéressants pour différents scénarios, que nous explorerons en détail tout au long de cet article.

écrire des fichiers PowerShell avec l'applet de commande

Set-Content : Écrire ou écraser des fichiers

L'applet de commande Ensemble-Contenu C'est probablement le plus direct lorsque l'objectif est créer un fichier ou écraser son contenu actuelSon utilisation de base est assez intuitive :

Set-Content -Path "C:\ruta\archivo.txt" -Value "Texto que quiero introducir"

Si le fichier existe déjà, cette commande le remplacera entièrement par le nouveau texte. S'il n'existe pas, elle le créera automatiquement à l'emplacement spécifié.

  Comment faire pour que Google Gemini oublie votre historique de conversations

Il est également possible de travailler facilement avec plusieurs lignes. Par exemple, pour enregistrer un tableau contenant plusieurs chaînes dans un nouveau fichier, il suffit de :

$contenido = @("Primera línea", "Segunda línea", "Tercera línea")
Set-Content -Path "C:\ruta\archivo.txt" -Value $contenido

Chaque élément du tableau est écrit sur une ligne distincte., facilitant ainsi la création de fichiers structurés.

Add-Content : ajouter des informations à la fin d'un fichier

Quand tu as besoin ajouter des données à un fichier existant sans supprimer l'ancien, l'applet de commande Ajouter du contenu est l'option idéale. Sa syntaxe est très similaire à celle de Set-Content :

Add-Content -Path "C:\ruta\archivo.txt" -Value "Nueva línea al final"

Cette commande insère le texte à la fin du fichier, préservant ainsi l'intégralité du contenu d'origine. Elle est particulièrement utile pour le traitement des journaux. journaux ou collecter des informations de manière progressive.

Si vous souhaitez ajouter plusieurs lignes, vous pouvez le faire en passant un tableau, comme indiqué précédemment.

Out-File : Sortie de la commande de redirection

sortie de redirection PowerShell out-file

L'applet de commande Out-File se démarque quand on le veut enregistrer directement la sortie de n'importe quelle commande ou scénario dans un fichierC'est très utile, par exemple, si vous souhaitez enregistrer une liste, un rapport ou le résultat d'un processus complexe :

Get-Process | Out-File -FilePath "C:\ruta\procesos.txt"

Dans ce cas, Ce qui est habituellement vu à l'écran est stocké dans le fichier, en respectant le format et les lignes tels qu'ils apparaissent dans la console.

Par défaut, Out-File écrase le fichier de destination., mais vous pouvez utiliser le paramètre -Ajouter Pour ajouter des informations sans supprimer les informations précédentes :

Get-Date | Out-File -FilePath "C:\ruta\log.txt" -Append

De plus, vous pouvez spécifier l'encodage du fichier à l'aide du paramètre -Codage ou création de force avec -force.

Comparaison entre Set-Content, Add-Content et Out-File

Il est courant de confondre ces trois applets de commande, mais chacune est conçue pour des situations spécifiques :

  • Ensemble-Contenu: utile pour définir ou remplacer complètement le contenu d'un fichier.
  • Ajouter du contenu:parfait lorsque vous souhaitez simplement ajouter du texte sans modifier ce qui existe déjà.
  • Fichier sortant:Idéal pour rediriger les résultats de scripts ou de commandes complexes.

Une astuce importante consiste à combiner Out-String avec ces applets de commande si vous devez convertir la sortie d'un objet en texte avant de l'écrire, en particulier avec Set-Content :

Get-Process | Out-String | Set-Content -Path "C:\ruta\procesos.txt"

Exemples pratiques d'écriture et de redirection dans les fichiers

Voyons quelques exemples courants et situations pratiques que vous pouvez résoudre rapidement :

  • Créer un nouveau fichier texte :
    New-Item -Path "C:\ejemplo\nuevo.txt" -ItemType File
  • Vider le contenu d'un fichier mais le conserver :
    Clear-Content -Path "C:\ejemplo\log.txt"
  • Ajouter un texte de test :
    "Este es un ejemplo" | Add-Content -Path "C:\ejemplo\nuevo.txt"
  • Remplacer un mot dans le fichier entier :
    (Get-Content .\archivo.txt).replace('buscar', 'reemplazo') | Set-Content .\archivo.txt

N'oubliez pas d'utiliser des caractères génériques (*) pour travailler avec plusieurs fichiers à la fois., par exemple:

Get-Content C:\ejemplo\*.txt | Out-File -FilePath C:\ejemplo\resumen.txt

Gestion avancée : écriture de fichiers avec StreamWriter et .NET

Manipuler des fichiers avec PowerShell StreamWriter

Pour les tâches qui nécessitent plus de contrôle, comme l'écriture de données binaires, la gestion d'encodages inhabituels ou le traitement de gros volumes, vous pouvez utiliser la classe System.IO.StreamWriterSystem.IO.StreamWriter à partir de .NET :

$sw = [System.IO.StreamWriter]::new('C:\ruta\archivo.txt')
$sw.WriteLine('Texto específico o datos binarios')
$sw.Close()

Cette méthode vous donne flexibilité supplémentaire, particulièrement utile dans les scripts avancés ou lorsque vous devez personnaliser le flux de sortie.

  Il n'y a pas assez de mémoire pour ouvrir ce site Web dans Google Chrome

Travailler avec les autorisations et les fichiers protégés

Parfois, cela peut être nécessaire créer des fichiers avec des autorisations spécifiques ou modifier la liste de contrôle d'accès d'un fichier. PowerShell et .NET simplifient cette opération en combinant applets de commande et objets. Par exemple, pour attribuer le contrôle total à un utilisateur de domaine :

$archivo = New-Item -Path "C:\ruta\archivo.txt" -ItemType "File"
$acl = Get-Acl $archivo.FullName
$permiso = "dominio\usuario","FullControl","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permiso
$acl.SetAccessRule($accessRule)
Set-Acl $archivo.FullName $acl

De cette façon, vous pouvez vous assurer que votre fichier est non seulement créé et écrit correctement, mais également est protégé et dispose des autorisations appropriées.

Gestion supplémentaire : lecture, modification et suppression de fichiers

La gestion des fichiers dans PowerShell ne se limite pas à la saisie. Vous pouvez :

  • Lire le contenu avec Get-Content : Get-Content -Path "C:\ruta\archivo.txt"
  • Suppression de fichiers avec Remove-Item : Remove-Item -Path "C:\ruta\archivo.txt"
  • Copier ou déplacer des fichiers avec Copy-Item et Move-Item car vous devez réorganiser les répertoires.
  • Filtrer les résultats à l'aide de caractères génériques, de sélecteurs et de paramètres pour travailler uniquement sur les fichiers souhaités.

Automatisation et manipulation de grands volumes de données

L’un des plus grands avantages de PowerShell est que facilite l'automatisation des processus avec des scripts. Avez-vous besoin de fusionner le contenu de plusieurs fichiers en un nouveau ? Les usages:

Get-Content C:\carpeta\*.txt -Exclude resumen.txt | Set-Content C:\carpeta\resumen.txt

Ou pour ajouter le résultat d'une recherche spécifique à plusieurs fichiers :

Select-String "palabra clave" C:\carpeta\*.txt | Out-File -FilePath C:\carpeta\resultados.txt

Et si vous rencontrez des blocages avec des boucles infinies ou des processus qui ne se terminent jamais, n'oubliez pas que vous pouvez interrompre l'exécution en appuyant sur Contrôle + C sur la console.

Autres outils et raccourcis utiles dans PowerShell

Au fur et à mesure que vous vous familiariserez avec votre environnement, vous découvrirez des raccourcis pratiques, tels que :

  • Complétion automatique avec la touche Tab pour les chemins de fichiers ou les commandes.
  • Rappeler les commandes précédemment utilisées avec les flèches haut/bas.
  • Travaillez rapidement avec plusieurs répertoires en utilisant Push-Location (pushd) et Pop-Location (popd).
  • Sortie de canal entre différentes applets de commande en utilisant le symbole | (tuyau), par exemple :
    Get-Content archivo.txt | Measure-Object -Word -Line -Character

Résumé des applets de commande et des équivalences

PowerShell privilégie la cohérence des conventions de nommage « verbe-nom » dans ses applets de commande, facilitant ainsi leur apprentissage. Voici les commandes clés à retenir :

  Comment télécharger l'image numérique Microsoft dans Windows 10
Applet de commande Alias utilisation primaire
Set-Content sc Écrire/remplacer du contenu
Add-Content ac Ajouter du contenu à la fin
Out-File - Sortie de la commande de redirection
Get-Content gc Lire le contenu
Remove-Item rm Supprimer des fichiers/répertoires
New-Item ni Créer des fichiers et des dossiers
Clear-Content - Fichiers vides

La plupart de ces applets de commande ont des alias plus courts ou même des équivalents Bash, ce qui facilite la transition si vous avez une expérience préalable avec d'autres systèmes.

Rédaction avancée : Exportation de données et de fichiers structurés

Tout n'est pas en texte brut. Si vous avez besoin exporter des données structurées, telles que des tableaux ou des objetsPowerShell vous fournit des applets de commande telles que Exporter-CSV:

$datos = @( @{Nombre='Juan';Edad=30}, @{Nombre='Ana';Edad=25} )
$datos | Export-Csv -Path "C:\datos.csv" -NoTypeInformation

De cette façon, vous pouvez générer des fichiers CSV compatibles avec Excel et d’autres outils, élargissant considérablement les applications pratiques de PowerShell dans l’administration système et l’analyse de données.

Maîtriser l Commandes PowerShell pour écrire dans les fichiers Il vous permet d'étendre les possibilités de gestion et d'automatisation des tâches sur les systèmes Windows. Des simples fichiers texte aux rapports et journaux complexes, tout est à portée de la console et de quelques applets de commandePetit à petit, travailler avec PowerShell deviendra une partie naturelle de votre routine, vous faisant gagner du temps et vous permettant d'exécuter des tâches avec précision et puissance.