Contact Info

Crumbtrail » Administration » Powershell » Powershell 1.0 » Copy-Item

Copy-Item - Powershell 1.0 CmdLet

Microsoft Windows PowerShell is a command-line shell and scripting tool based on the Microsoft .NET Framework. It is designed for system administrators, engineers and developers to control and automate the administration of Windows and applications.

More than hundred command-line tools (so called "cmdlets") can be used to perform system administration tasks and Windows Management Instrumentation (WMI). These cmdlets are easy to use, with standard naming conventions and common parameters, and standard tools for piping, sorting, filtering, and formatting data and objects.


Copy an item from a namespace location


-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.

       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.
       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.
       Pass the object through the pipeline.

       include sub-folders/subkeys.
       Describe what would happen if you executed the command without actually
       executing the command.
       Prompt for confirmation before executing the command.
       -Verbose, -Debug,-ErrorAction,-ErrorVariable, -OutVariable.

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.