This is an old revision of the document!
Session.GetFileToDirectory Method
Downloads one file from a remote directory to a local directory.
This is a convenient alternative to Session.GetFiles, when you want to download only one specific file to a specific local directory, keeping its original name. 
Syntax
C#
      public TransferOperationResult GetFileToDirectory( string remoteFilePath, string localDirectory, bool remove = false, TransferOptions options = null )
VB.NET
      Public Function GetFilesToDirectory( remoteFilePath As String, localDirectory As String, Optional remove As Boolean = False, Optional options As TransferOptions = Nothing ) As TransferOperationResult
Parameters
| Name | Description | 
|---|---|
| string remoteFilePath | Full path to the remote file to download. | 
| string localDirectory | Full path to the local directory to download the file to. The directory is created, if it does not exist. | 
| bool remove | When set to true, deletes source remote file after a successful transfer. Defaults to false. | 
    
| TransferOptions options | Transfer options. Defaults to null, what is an equivalent to new TransferOptions(). | 
    
Return Value
Exceptions
| Exception | Condition | 
|---|---|
| InvalidOperationException | Session is not opened. | 
| ArgumentException  ArgumentOutOfRangeException  | 
        Invalid combination of values of TransferOptions properties. | 
    
| SessionLocalException | Error communicating with winscp.com. See the exception documentation for details.  | 
    
| SessionRemoteException | Session has failed.  Downloading of files has failed. See the exception documentation for details.  | 
    
| TimeoutException | Timeout waiting for winscp.com to respond. | 
    
Remarks
Event Session.FileTransferred is raised.
Contrary to Session.GetFiles:
- You specify a path to the source file, not a wildcard, so you do not need to escape a literal file name.
 - You do not specify a target name (or an operation mask) in the destination path (original names are preserved when downloading).
 - You do not need to make sure that the target directory path ends with a backslash.
 - The method downloads files only. It throws when the source path points to a directory.
 - The method throws an exception on error automatically. No need to call 
OperationResultBase.Check. - If the target local directory does not exist, it is created.