- 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.
Ê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.

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é.
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

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

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.
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 :
| 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.
Écrivain passionné par le monde des octets et de la technologie en général. J'aime partager mes connaissances à travers l'écriture, et c'est ce que je vais faire dans ce blog, vous montrer toutes les choses les plus intéressantes sur les gadgets, les logiciels, le matériel, les tendances technologiques et plus encore. Mon objectif est de vous aider à naviguer dans le monde numérique de manière simple et divertissante.