Ce face Add-Content
Add-Content adaugă valorile primite la sfârșitul unui fișier, câte una pe linie, și lasă neatins ce era deja acolo. Dacă fișierul nu există, îl creează. Este varianta „append” a lui Set-Content și se folosește des pentru jurnale simple în scripturi.
Valoarea poate veni din -Value sau din pipeline (de exemplu, liniile citite cu Get-Content dintr-un alt fișier). Obiectele sunt transformate în text înainte de scriere, ca la Set-Content.
În PowerShell 7, codificarea implicită este utf8NoBOM. Dacă adaugi într-un fișier creat cu altă codificare (de exemplu UTF-16, cum produce Out-File în Windows PowerShell 5.1), specifică aceeași codificare cu -Encoding, altfel fișierul ajunge amestecat. Aliasul ac există doar pe Windows.
Parametri
| Parametru | Descriere |
|---|---|
-Path |
Fișierul (sau fișierele) la care adaugi; acceptă wildcard-uri. |
-Value |
Textul de adăugat; un tablou devine mai multe linii. Poate veni și din pipeline. |
-Encoding |
Codificarea folosită la scriere (implicit utf8NoBOM în 7). |
-NoNewline |
Nu adaugă linie nouă după text. |
-PassThru |
Întoarce textul adăugat, ca să-l vezi și în consolă. |
-Force |
Adaugă și într-un fișier marcat doar pentru citire. |
Ce returnează
Nimic implicit; cu -PassThru, un String cu textul adăugat.
Exemple
Exemplul 1: Un jurnal simplu
Fiecare apel adaugă o linie nouă la final; liniile vechi rămân.
Add-Content -Path C:\Proiecte\jurnal.log -Value '2026-10-25 09:30 Backup facturi: reușit'
Add-Content -Path C:\Proiecte\jurnal.log -Value '2026-10-25 10:00 Sincronizare Cluj: reușită'
Get-Content -Path C:\Proiecte\jurnal.log
Ieșire în terminal
2026-10-25 09:30 Backup facturi: reușit
2026-10-25 10:00 Sincronizare Cluj: reușită
Exemplul 2: Adaugă și afișează în același timp
-PassThru trimite textul adăugat și în consolă. Data vine din Get-Date -Format.
$linie = "$(Get-Date -Format 'yyyy-MM-dd HH:mm') Factură trimisă: Ana Popescu, 250 lei"
Add-Content -Path .\jurnal.log -Value $linie -PassThru
Ieșire în terminal
2026-10-25 11:15 Factură trimisă: Ana Popescu, 250 lei
Exemplul 3: Lipește conținutul unui fișier la finalul altuia
Liniile citite din note-noi.txt ajung prin pipeline la finalul lui note.txt.
Get-Content -Path .\note-noi.txt | Add-Content -Path .\note.txt
Get-Content -Path .\note.txt -Tail 2
Ieșire în terminal
Elena Dumitru,9.25
Andrei Stan,8.50
Greșeli frecvente
Add-Content -Path .\total.txt -Value .\note.txtadaugă textul „.\note.txt”, nu conținutul fișierului. Citește întâi fișierul:-Value (Get-Content .\note.txt)sau prin pipeline.- Rularea aceluiași script de mai multe ori dublează liniile. Dacă fișierul trebuie refăcut de la zero, folosește
Set-Contentpentru prima linie sau șterge fișierul la început. - Combinarea codificărilor: un fișier creat în Windows PowerShell 5.1 cu
Out-Filesau>este UTF-16. Dacă adaugi în el cu UTF-8 (implicit în PowerShell 7), liniile noi pot apărea stricate. Adaugă cu-Encoding unicodesau refă fișierul într-o singură codificare.
Comenzi înrudite
Set-Content: Scrie text într-un fișier și înlocuiește tot conținutul existent; creează fișierul dacă nu există.Get-Content: Citește conținutul unui fișier ca listă de linii (sau ca un singur șir cu -Raw); poate afișa primele sau ultimele linii și urmări un log.Out-File: Salvează într-un fișier ieșirea unei comenzi, exact cum apare în consolă; operatorii de redirecționare > și >> fac același lucru.Get-Date: Get-Date întoarce data și ora curentă (sau una dată) ca obiect [datetime], pe care îl formatezi cu -Format și îl calculezi cu .AddDays().