Copy-Item în PowerShell

Fișiere și foldere Windows PowerShell 1.0

Copiază fișiere și foldere în altă locație, opțional cu tot conținutul subfolderelor și cu nume nou.

Sintaxă
Copy-Item [-Path] <string[]> [[-Destination] <string>] [-Recurse] [-Force] [-Filter <string>] [-PassThru]

Ce face Copy-Item

Copy-Item copiază un element dintr-o locație în alta; originalul rămâne pe loc. Dacă -Destination conține un nume nou de fișier, copia primește acel nume. Un fișier existent cu același nume în destinație este suprascris fără întrebare; -Force e necesar doar pentru fișiere marcate doar pentru citire.

Pentru foldere, -Recurse este esențial: fără el, se copiază doar folderul, fără conținut. Contează și dacă destinația există: Copy-Item C:\Proiecte\facturi D:\Backup -Recurse pune folderul în D:\Backup\facturi când D:\Backup există, dar îl copiază chiar ca D:\Backup când acesta nu există.

Cu -ToSession și -FromSession copiezi fișiere spre sau dinspre un calculator la distanță, printr-o sesiune creată cu New-PSSession. Aliasuri: copy și cpi pe toate sistemele, cp doar pe Windows.

Parametri

Parametru Descriere
-Path Elementele de copiat; acceptă wildcard-uri (.\*.pdf) și intrare din pipeline.
-Destination Folderul destinație sau calea completă cu numele nou. Implicit, folderul curent.
-Recurse Copiază și conținutul subfolderelor.
-Force Suprascrie fișiere doar pentru citire sau aliasuri.
-Filter / -Include / -Exclude Limitează ce se copiază. -Include și -Exclude filtrează doar elementele găsite de -Path, nu și pe cele din subfoldere.
-Container Păstrează structura de foldere (implicit activat); -Container:$false pune toate fișierele într-un singur folder.
-PassThru Întoarce obiectele copiate.
-ToSession / -FromSession Copiere spre / dinspre o sesiune PowerShell la distanță.

Ce returnează

Nimic implicit; cu -PassThru, obiecte pentru elementele copiate.

Exemple

Exemplul 1: Copiază un fișier într-un alt folder

Comanda nu afișează nimic dacă reușește; originalul rămâne în C:\Proiecte\facturi.

Copy-Item -Path C:\Proiecte\facturi\factura-2026-087.pdf -Destination D:\Backup

Exemplul 2: Copiază un folder întreg, cu subfoldere

D:\Backup există, iar D:\Backup\facturi-2026 nu: PowerShell creează folderul nou și copiază în el tot conținutul.

Copy-Item -Path C:\Proiecte\facturi -Destination D:\Backup\facturi-2026 -Recurse
Get-ChildItem -Path D:\Backup\facturi-2026

Ieșire în terminal

    Directory: D:\Backup\facturi-2026

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----         10/25/2026   9:40 AM                2025
d----         10/25/2026   9:40 AM                2026
-a---         10/20/2026   9:14 AM          84210 factura-ciorna.pdf

Exemplul 3: Copie cu nume nou, afișată cu -PassThru

Numele din -Destination devine numele copiei; -PassThru afișează fișierul nou.

Copy-Item -Path .\buget-2026.xlsx -Destination .\buget-2026-copie.xlsx -PassThru

Ieșire în terminal

    Directory: C:\Proiecte

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---         10/23/2026  11:30 AM          18432 buget-2026-copie.xlsx

Greșeli frecvente

  • Fără -Recurse, copierea unui folder creează doar un folder gol în destinație.
  • Diferența dintre -Path C:\Proiecte\facturi (copiază folderul) și -Path C:\Proiecte\facturi\* (copiază doar conținutul lui) duce des la structuri neașteptate. Verifică cu -WhatIf înainte.
  • Copy-Item -Path .\* -Include *.pdf -Recurse copiază și fișiere care nu sunt PDF din subfolderele potrivite: filtrul se aplică doar la primul nivel. Pentru o copiere selectivă recursivă, folosește Get-ChildItem -Recurse -Filter *.pdf | Copy-Item -Destination ....
  • Pe macOS și Linux, cp nu este alias pentru Copy-Item, ci comanda nativă, cu alte opțiuni (cp -r).

Comenzi înrudite

  • Move-Item: Mută fișiere și foldere în altă locație, opțional cu nume nou; elementul dispare din locul inițial.
  • Remove-Item: Șterge fișiere și foldere (și alte elemente, ca chei de registry); ștergerea este definitivă, nu în Coșul de reciclare.
  • Get-ChildItem: Listează fișierele și folderele dintr-o locație, opțional recursiv, filtrate după nume sau tip (echivalentul lui dir și ls).
  • New-Item: Creează un fișier, un folder sau un link; poate pune și conținut inițial în fișierul nou.
  • Enter-PSSession: Deschide o sesiune interactivă pe un alt computer (prin WinRM sau, din PowerShell 6.0, prin SSH); ieși cu Exit-PSSession sau exit.