Internet Explorer is no longer supported. Many things will still work, but your experience will be degraded and some things won't function. Please use a modern browser such as Edge, Chrome, or Firefox.

Copy-Files

Copies files on a server.

Script usage:

Copy-Files(
	[Include: <@(text)>],
	[Exclude: <@(text)>],
	[From: <text>],
	To: <text>,
	[Verbose: <true/false>],
	[Overwrite: <true/false>],
	[RenameFrom: <text>],
	[RenameTo: <text>],
	[RenameRegex: <true/false>]
);

This operation may be prefixed with Files::, although this is a built-in namespace and isn't really necessary.

Arguments:

NameFormatScript UsageUsage Notes
Include
@(text)
Include
See KB#1119 to learn more about masking syntax.
Exclude
@(text)
Exclude
See KB#1119 to learn more about masking syntax.
Source directory
text
From
Target directory
text
To
This argument is required.
Verbose
true/false
Verbose
Overwrite target files
true/false
Overwrite
Rename from
text
RenameFrom
Rename to
text
RenameTo
Use regular expression
true/false
RenameRegex

Example:


# copy all files and all subdirectories beneath it to the target,
# and log each individual file that is copied, and overwrite any files
Copy-Files(
    From: E:\Source,
    To: F:\Target,
    Include: **,
    Verbose: true,
    Overwrite: true
);



# copy a file, renaming it during the copy
Copy-Files(
    From: $WorkingDirectory/build,
    To: $WorkingDirectory/staging,
    Include: HDARS.exe,
    Verbose: true,
    RenameFrom: .exe,
    RenameTo: .$ReleaseNumber.exe
);



# copy files, renaming them to fit the format desired by this application
Copy-Files(
    From: vendorData,
    To: vendorData2,
    Verbose: true,
    RenameFrom: "^(?<module>[a-z]+)\.(?<name>.*)\.xml$",
    RenameTo: `${name}-`${module}.xml,
    RenameRegex: true
);