Differences

This shows you the differences between the selected revisions of the page.

library_session_putfiles 2017-12-05 library_session_putfiles 2022-08-12 (current)
Line 2: Line 2:
[[task_upload|Uploads]] one or more files from local directory to remote directory. [[task_upload|Uploads]] one or more files from local directory to remote directory.
-You can have WinSCP [[ui_generateurl|generate a code template]] for ''Session.PutFiles'' for you.+You can have WinSCP [[guide_automation#generating|generate a code template]] for ''Session.PutFiles'' for you
 + 
 +The method is quite powerful, but due to a wide range of it uses, its syntax can be cumbersome initially. For specific tasks, consider using convenient alternatives: [[library_session_putfilestodirectory|''Session.PutFilesToDirectory'']] and [[library_session_putfiletodirectory|''Session.PutFileToDirectory'']].
===== Syntax ===== ===== Syntax =====
Line 16: Line 18:
<code vbnet *> <code vbnet *>
Public Function PutFiles( Public Function PutFiles(
-    ByVal localPath As String, +    localPath As String, 
-    ByVal remotePath As String, +    remotePath As String, 
-    ByVal Optional remove As Boolean = False, +    Optional remove As Boolean = False, 
-    ByVal Optional options As TransferOptions = Nothing+    Optional options As TransferOptions = Nothing
) As TransferOperationResult ) As TransferOperationResult
</code> </code>
-==== Parameters ====+==== [[parameters]] Parameters ====
^ Name ^ Description ^ ^ Name ^ Description ^
| string ==localPath== | Full path to local file or directory to upload. Filename in the path can be replaced with Windows wildcard ((The Windows wildcard supports ''*'' and ''?'' only. If you want to use a full syntax of [[file_mask|file masks]], use a ''[[library_transferoptions#filemask|TransferOptions.FileMask]]''.)) to select multiple files. To upload all files in a directory, use mask ''*''. | | string ==localPath== | Full path to local file or directory to upload. Filename in the path can be replaced with Windows wildcard ((The Windows wildcard supports ''*'' and ''?'' only. If you want to use a full syntax of [[file_mask|file masks]], use a ''[[library_transferoptions#filemask|TransferOptions.FileMask]]''.)) to select multiple files. To upload all files in a directory, use mask ''*''. |
| string ==remotePath== | Full path to upload the file to. When uploading multiple files, the filename in the path should be replaced with [[operation_mask|operation mask]] or omitted (path ends with slash). | | string ==remotePath== | Full path to upload the file to. When uploading multiple files, the filename in the path should be replaced with [[operation_mask|operation mask]] or omitted (path ends with slash). |
-| bool ==remove== | When set to ''true'', deletes source local file(s) after transfer. Defaults to ''false''. |+| bool ==remove== | When set to ''true'', deletes source local file(s) after a successful transfer. Defaults to ''false''. |
| [[library_transferoptions|TransferOptions]] ==options== | Transfer options. Defaults to ''null'', what is equivalent to ''new TransferOptions()''. | | [[library_transferoptions|TransferOptions]] ==options== | Transfer options. Defaults to ''null'', what is equivalent to ''new TransferOptions()''. |
Line 33: Line 35:
''[[library_transferoperationresult|TransferOperationResult]]''. See also [[library_session#results|Capturing results of operations]]. ''[[library_transferoperationresult|TransferOperationResult]]''. See also [[library_session#results|Capturing results of operations]].
-===== Exceptions =====+===== [[exceptions]] Exceptions =====
^ Exception ^ Condition ^ ^ Exception ^ Condition ^
| InvalidOperationException | Session is not opened. | | InvalidOperationException | Session is not opened. |
Line 42: Line 44:
===== Remarks ===== ===== Remarks =====
-Event ''[[library_session_filetransferred|Session.FileTransferred]]'' is raised for every uploaded file.+Event ''[[library_session_filetransferred|Session.FileTransferred]]'' is raised for every uploaded file. Also raises [[library_session_filetransferprogress|''Session.FileTransferProgress'']] throughout the transfer.
-The upload aborts on the first error. See example on [[library_example_recursive_download_custom_error_handling|implementing recursive directory tree download with custom error handling]], uploads can be implemented similarly too. See an example of [[library_example_moves_files_keeping_directory_structure|implementing recursive directory tree upload]].+The upload aborts on the first error. See the example on [[library_example_recursive_download_custom_error_handling|implementing recursive directory tree download with custom error handling]]. Uploads can be implemented similarly too, see an example of [[library_example_moves_files_keeping_directory_structure|implementing recursive directory tree upload]].
===== Example ===== ===== Example =====
Line 51: Line 53:
==== Real-Life Examples ==== ==== Real-Life Examples ====
-  * [[script_local_move_after_successful_upload|Moving local files to different location after successful upload]]; +  * [[script_local_move_after_successful_upload|*]]; 
-  * [[script_locking_files_while_uploading|Locking files while uploading / Upload to temporary file name]]; +  * [[script_locking_files_while_uploading|*]]; 
-  * [[library_example_moves_files_keeping_directory_structure|Recursively move files in directory tree to/from SFTP/FTP server while preserving source directory structure]].+  * [[library_example_moves_files_keeping_directory_structure|*]].

Last modified: by martin