Share via


FileSystemTask.Destination Property

Gets or sets the destination folder or file.

Namespace:  Microsoft.SqlServer.Dts.Tasks.FileSystemTask
Assembly:  Microsoft.SqlServer.FileSystemTask (in Microsoft.SqlServer.FileSystemTask.dll)

Syntax

'Declaration
Public Property Destination As String 
    Get 
    Set
'Usage
Dim instance As FileSystemTask 
Dim value As String 

value = instance.Destination

instance.Destination = value
public string Destination { get; set; }
public:
virtual property String^ Destination {
    String^ get () sealed;
    void set (String^ value) sealed;
}
abstract Destination : string with get, set 
override Destination : string with get, set
final function get Destination () : String 
final function set Destination (value : String)

Property Value

Type: System.String
A String that contains the connection manager or variable that contains the destination folder or file information.

Implements

IDTSFileSystemTask.Destination

Remarks

If the destination is not a variable then the destination is a file connection manager. The IsDestinationPathVariable property indicates if the destination is a variable.

Examples

The following code example creates a FileSystemTask as an Executable in a package. The FileSystemTask copies a test folder, which contains two subfolders and a .txt file, to another folder. The destination is an existing folder, not a variable, so the IsDestinationPathVariable is set to false, and the Destination property is set to reference a FILE connection manager.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.FileSystemTask;

namespace FileSystemTask_API
{
    class Program
    {
        static void Main(string[] args)
        {
            String sourceDir = @"C:\TestFolder";
            String destDir = @"C:\MyNewTestFolder";

            Package pkg = new Package();
            Executable exec1 = pkg.Executables.Add("STOCK:FileSystemTask");
            TaskHost th = exec1 as TaskHost;
            
            // Show how to set properties using the TaskHost Properties.
            // Set the properties to copy an existing folder, which contains two subfolders
            // and a .txt file, to another existing folder on the C:\ drive.

            // The source or destination files are not in a variable, so set 
            // IsSourcePathVariable and IsDestinationPathVariable to false.
            th.Properties["IsSourcePathVariable"].SetValue(th, false);
            th.Properties["IsDestinationPathVariable"].SetValue(th, false);

            // Create the File connection manager for the source.
            ConnectionManager cm = pkg.Connections.Add("FILE");
            cm.Name = "The FILE connection manager";
            cm.ConnectionString = sourceDir;
            cm.Properties["FileUsageType"].SetValue(cm, DTSFileConnectionUsageType.FolderExists);

            // Create the File connection manager for the destination.
            ConnectionManager cmdest = pkg.Connections.Add("FILE");
            cmdest.Name = "The destination FILE connection manager";
            cmdest.ConnectionString = destDir;
            cmdest.Properties["FileUsageType"].SetValue(cmdest, DTSFileConnectionUsageType.FolderExists);

            // Set the source property and destination properties
            // for the task.
            th.Properties["Source"].SetValue(th, cm.Name);
            th.Properties["Destination"].SetValue(th, cmdest.Name);

            // The operation to perform is to copy all the files and
             // subfolders in a folder.
            // Do not overwrite the destination information 
            // if it exists.
            th.Properties["Operation"].SetValue(th, DTSFileSystemOperation.CopyDirectory);
            th.Properties["OperationName"].SetValue(th, "Copy TestFolder");
            th.Properties["OverwriteDestinationFile"].SetValue(th, false);

            // Set the attribute of the folder to be read-only.
            th.Properties["Attributes"].SetValue(th, DTSFileSystemAttributes.ReadOnly);
            // Multiple attributes can be set. The next line of code,
            // commented out, shows how to do that.
            //th.Properties["Attributes"].SetValue(th, DTSFileSystemAttributes.ReadOnly | DTSFileSystemAttributes.Hidden);

            // Run the task and copy the folder.
            DTSExecResult result = pkg.Execute();
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
Imports Microsoft.SqlServer.Dts.Tasks.FileSystemTask
 
Namespace FileSystemTask_API
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim sourceDir As String =  "C:\TestFolder" 
            Dim destDir As String =  "C:\MyNewTestFolder" 
 
            Dim pkg As Package =  New Package() 
            Dim exec1 As Executable =  pkg.Executables.Add("STOCK:FileSystemTask") 
            Dim th As TaskHost =  exec1 as TaskHost 
 
            ' Show how to set properties using the TaskHost Properties.
            ' Set the properties to copy an existing folder, which contains two subfolders
            ' and a .txt file, to another existing folder on the C:\ drive.
 
            ' The source or destination files are not in a variable, so set 
            ' IsSourcePathVariable and IsDestinationPathVariable to false.
            th.Properties("IsSourcePathVariable").SetValue(th, False)
            th.Properties("IsDestinationPathVariable").SetValue(th, False)
 
            ' Create the File connection manager for the source.
            Dim cm As ConnectionManager =  pkg.Connections.Add("FILE") 
            cm.Name = "The FILE connection manager"
            cm.ConnectionString = sourceDir
            cm.Properties("FileUsageType").SetValue(cm, DTSFileConnectionUsageType.FolderExists)
 
            ' Create the File connection manager for the destination.
            Dim cmdest As ConnectionManager =  pkg.Connections.Add("FILE") 
            cmdest.Name = "The destination FILE connection manager"
            cmdest.ConnectionString = destDir
            cmdest.Properties("FileUsageType").SetValue(cmdest, DTSFileConnectionUsageType.FolderExists)
 
            ' Set the source property and destination properties
            ' for the task.
            th.Properties("Source").SetValue(th, cm.Name)
            th.Properties("Destination").SetValue(th, cmdest.Name)
 
            ' The operation to perform is to copy all the files and
             ' subfolders in a folder.
            ' Do not overwrite the destination information 
            ' if it exists.
            th.Properties("Operation").SetValue(th, DTSFileSystemOperation.CopyDirectory)
            th.Properties("OperationName").SetValue(th, "Copy TestFolder")
            th.Properties("OverwriteDestinationFile").SetValue(th, False)
 
            ' Set the attribute of the folder to be read-only.
            th.Properties("Attributes").SetValue(th, DTSFileSystemAttributes.ReadOnly)
            ' Multiple attributes can be set. The next line of code,
            ' commented out, shows how to do that.
            'th.Properties["Attributes"].SetValue(th, DTSFileSystemAttributes.ReadOnly | DTSFileSystemAttributes.Hidden);
 
            ' Run the task and copy the folder.
            Dim result As DTSExecResult =  pkg.Execute() 
        End Sub
    End Class
End Namespace

See Also

Reference

FileSystemTask Class

Microsoft.SqlServer.Dts.Tasks.FileSystemTask Namespace