File System - Restore Directory
Octopus.Script exported 12/06/2015 by bobjwalker belongs to 'File System' category.
Restores a folder and it's contents (files and sub-folders).
Parameters
When steps based on the template are included in a project's deployment process, the parameters below can be set.
Source
Source
The source directory where files and folders will be copied from
Destination folder
Destination
The Destination where the files will be copied to.
Script body
Steps based on this template will execute the following PowerShell script.
Show script$source = $OctopusParameters['Source']
$destination = $OctopusParameters['Destination']
if(Test-Path $destination)
{
## Clean the destination folder
Write-Host "Cleaning $destination"
Remove-Item $destination -Recurse
}
## Copy recursively
Write-Host "Copying from $source to $destination"
Copy-Item $source $destination -RecurseTo use this template in Octopus Deploy, copy the JSON below and paste it into the Library → Step templates → Import dialog.
Show JSON{
"Id": "04a74a00-967d-496a-a966-1acd17fededf",
"Name": "File System - Restore Directory",
"Description": "Restores a folder and it's contents (files and sub-folders).",
"Version": 2,
"ExportedAt": "2015-12-06T00:00:00.000+00:00",
"ActionType": "Octopus.Script",
"Author": "bobjwalker",
"Parameters": [
{
"Name": "Source",
"Label": "Source",
"HelpText": "The source directory where files and folders will be copied from",
"DefaultValue": null,
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
},
{
"Name": "Destination",
"Label": "Destination folder",
"HelpText": "The Destination where the files will be copied to.",
"DefaultValue": null,
"DisplaySettings": {
"Octopus.ControlType": "SingleLineText"
}
}
],
"Properties": {
"Octopus.Action.Script.ScriptBody": "$source = $OctopusParameters['Source']\n$destination = $OctopusParameters['Destination']\n\nif(Test-Path $destination)\n{\n ## Clean the destination folder\n Write-Host \"Cleaning $destination\"\n Remove-Item $destination -Recurse\n}\n\n## Copy recursively\nWrite-Host \"Copying from $source to $destination\"\nCopy-Item $source $destination -Recurse",
"Octopus.Action.Script.Syntax": "PowerShell"
},
"Category": "File System",
"HistoryUrl": "https://github.com/OctopusDeploy/Library/commits/master/step-templates/file-system-restore-directory.json",
"Website": "/step-templates/04a74a00-967d-496a-a966-1acd17fededf",
"Logo": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKhQTFRF/////78A/6oAVVVV/++//+q/gICA1dXV/79A/9R///ff/8MQ/9dg/8cg//vv/68A/+ef//PP//rv/7Ug/68Q/+Sv/8sw/9tw/9NQ/89w/+uv/+OP/8pg/89A/8VQ/9+f/9+A/9qP/+/P/99//7cA/7IA/7wA/6sA/+/A39/f/64A2tjX//Tfn5+f/7MA/7sA/74A/60A/9Zw/7gA/74Q/7oA/7UA/7EAi6g4fwAAAuRJREFUeNrs21tT2mAUheEvaaCQQCSczyi29WzP7f//Z6UdZBIIM44us9hf13vbC+eRbLo3qnNKKaWUUkoppZRSSimllFJKKaWUwlVrLhsvbrLqnoai2+yFr2x+fwKOwasZm/oXdEczxDQnOyYhqgn3uQpxDZhz3gdCesQ3r3mIjDfwXagj7NEgKywkXLMgSzCE9mz1wBDaOzDYETYEEUSQ/wPSaz6rQa174pDnt1x5Atm8emtPIGG48gUClJAh/XtPILi36+L3Zz6oVdBF4w32/sIbYmWH6qAPX5fzjio/14Q/W7nnqtIPDnYfFfThkGpPovXu68IhNdKSVyXkoQ7qgQypvwNVFwQDuXkP6oYM8WbYBWFDYMPNHnZBTv3tV8MuiCC+Q6K36+ypkn/LsJC4lQSkhhkQch4Qa+MgrYBahIKcB35AYrIjyEAQ9gsCm5E2GTIDQabsJysFQcZkxxj0H2LKfkGmIMjM3KgfgbBHfQSCROwnKwZByNtJsACt8WlChnRAkA7ZkaAOqyEZ0gJB7O2LRyAjsmOIutlNjnoJhD3qL9gXyyFjk6N+CKGPegSC2DsNj0DY++IlCEI/DWMQhL0vjh0GYvE0LIWwT8PEgSDsfXEEgmRmR30PYvI0LIGkRvfFAwj9NExBkIXRfXEfYvQ0PISwT8O2A0HYoz4DQb4ZPQ0PID8sj3oO8tXuvliEPJoe9Rzkk9XTcA9yZnhfLEA+mD0Ni5Ar9gvSAUE+2j0Ni5DPdk/DAuTW9L6Yg7BHfehAkC/WR30LoY96CoL8tL0v7iD0fTECQX4Z3xd3EPa+OANBflvfF58g363vi1sIfV+cgiCPPoz6Xwh71EcgyK0Xo76BsPfFBcbhrjzYF/9l/zTcxj4NWyBH7Mmo038zFvWCsCHt1HnxaCWZg8X8ifQwxjlcSvsJaHLpsGW5v2S8vo4qyymF7+5O3wOllFJKKaWUUkoppZRSSimllPKxPwIMAPj2YtijZbi5AAAAAElFTkSuQmCC",
"$Meta": {
"Type": "ActionTemplate"
}
}Provided under the Apache License version 2.0.