Het is eenvoudig om tekst toe te voegen aan een bestand met Windows Powershell met het Add-Content cmdlet, hier zijn enkele voorbeelden:
- Maak een voorbeeld tekstbestand met kladblok. Ik heb het mijne zo gemaakt:
- Open een Powershell venster en typ:
Add-Content C:\temp\test.txt "Test"
Als je het tekstbestand weer opent, zul je zien dat de tekst aan het eind van de bestaande regel is toegevoegd:
Het bovenstaande voorbeeld is prima, maar zoals u kunt zien zijn de gegevens niet naar een nieuwe regel geschreven.
Voorbeeld PowerShell om tekst aan een bestand op een nieuwe regel toe te voegen
Om inhoud op een nieuwe regel toe te voegen moet je het escape teken gebruiken gevolgd door de letter “n”:
Om het bovenstaande voorbeeld te vervolgen zou je dus het volgende kunnen gebruiken:
Add-Content C:\temp\test.txt "`nThis is a new line"
En dan zou het resulterende tekstbestand er als volgt uitzien:
Geformatteerde gegevens toevoegen met Powershell door gebruik te maken van tabs en nieuwe regels
Dit voorbeeld maakt een bestand met tab-indeling, de uitvoer ziet er als volgt uit:
De Powershell om bovenstaand voorbeeld te maken is:
Add-Content C:\temp\test.txt "`nItem`tQty`tValue`tTotal"Add-Content C:\temp\test.txt "`nPants`t4`t32.22`t128.88"Add-Content C:\temp\test.txt "`nSocks`t3`t5.07`t15.21"Add-Content C:\temp\test.txt "`nShoes`t12`t136.57`t1638.84"
Zoals u kunt zien, worden de tabs toegevoegd met het speciale teken “`t”.
Voeg toe aan een bestand met behulp van omleiding
Het hierboven beschreven proces lijkt de “normale” manier te zijn om in PowerShell toe te voegen aan een bestand. Maar als je van een Unix of Linux achtergrond komt zal dat waarschijnlijk hard werk lijken vergeleken met het gebruik van command redirection, wat ook prima werkt in PowerShell. Bijvoorbeeld:
"This is a test" >> Testfile.txt
Ik weet niet waarom deze methode niet meer wordt gebruikt in PowerShell, want het is veel beknopter dan “Add-Content”. Misschien is het omdat het niet hetzelfde niveau van functionaliteit heeft, in de meeste gevallen is het prima.