Copy an item from one location to another within a namespace. Copy files and directories with the FileSystem provider or registry keys and registry entries with the Registry provider.
Syntax Copy-item [[-path] | [-literalPath] ] string [[-destination] string] [-container] [-recurse] [-force] [-incude string ] [-exclude string ] [-filter string] [-passThru] [-credential PSCredential] [-whatIf] [-confirm] [-UseTransaction] [CommonParameters] key -path string The items to copy, Wildcards are permitted. -literalPath string Like Path above, only the value is used exactly as typed. No characters are interpreted as wildcards. If the path includes any escape characters then enclose the path in single quotation marks. -destination string Where the items are to be copied. -container Preserve container objects during the copy (this is set by default). -include string Copy only the specified items excludng all others even if they exist in the path e.g. -include *.txt -exclude string Omits the specified items from the Path e.g. "*SS64*" -filter string A filter in the provider's format or language. The exact syntax of the filter (wildcard support etc) depends on the provider. Filters are more efficient than -include/-exclude, because the provider applies the filter when retrieving the objects, rather than having PowerShell exclude or include the objects after they are retrieved. -force Override restrictions that prevent the command from succeeding, apart from security settings. e.g. Force will create file path directories or override a files read-only attribute, but will not change file permissions. -credential PSCredential Uses a credential to validate access to the file. Credential represents a user-name, such as "User01" or "Domain01\User01", or a PSCredential object, such as the one retrieved using Get-Credential. This parameter appears, but it is not yet supported in any PowerShell core cmdlets or providers. -passThru Pass the object through the pipeline. By default, copy-item does not generate any output. -recurse include sub-folders/subkeys. -whatIf Describe what would happen if you executed the command without actually executing the command. -confirm Prompt for confirmation before executing the command. -UseTransaction Include the command in the active transaction. CommonParameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, -OutBuffer -OutVariable.
Standard Aliases for Copy-Item: copy, cp, cpi
Copy a file into the C:\SS64\ directory:
PS C:\> Copy-Item C:\temp\demo.txt -destination C:\SS64
Copy the entire contents of the work folder into the backup\June folder:
C:\PS> Copy-Item C:\work -destination C:\backup\June -recurse
The -recurse option ensures any subdirectories will be copied intact. The -container parameter is set to true by default, this preserves the directory structure. The June folder will be created if it does not already exist.
"Replicants are like any other machine. They're either a benefit or a hazard.
If they're a benefit, it's not my problem" ~ Deckard (Blade Runner)
Related PowerShell Cmdlets:
Test-Path - Return true if the path/file exists.
Clear-item - Remove content from a variable or an alias.
Get-item - Return an object that represents an item in a namespace.
invoke-item - Invoke an executable or open a file (START).
Move-item - Move an item from one location to another.
New-item - Create a new item in a namespace.
Set-item - Set the value of a provider pathname.
Set-Content - Write or replace the content in an item & can change the file encoding.
Remove-item - Remove an item.
Rename-item - Change the name of an existing item.
Get-Help - about_namespace.
Equivalent bash commands: cp - Copy files.