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] [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
Clear only the specified items from the Path. e.g. "MyVar_month*"
-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 filter 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.
-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.
CommonParameters:
-Verbose, -Debug,-ErrorAction,-ErrorVariable, -OutVariable.
Examples
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:
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 ni Create a new item in a namespace
set-item - Set the value of a provider pathname
remove-item - Remove an item
rename-item - Change the name of an existing item
get-help - about_namespace
Equivalent bash commands: cp - Copy files