Differences

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

2013-04-15 2013-04-30
&beta_feature (martin) Converting to .NET Assembly (martin)
Line 38: Line 38:
</code> </code>
 +===== Converting to .NET Assembly =====
 +When [[library_from_script|converting script to .NET Assembly]], map ''put'' command to ''[[library_session_getfiles|Session.PutFiles]]'' method.
 +Parameters mapping: Command parameter ''file'' maps to method parameter ''localPath''. When multiple source file parameters are used, you need to call ''Session.PutFiles'' multiple times. Command parameter ''directory/newname'' maps to method parameter ''remotePath''. You have to [[library_from_script#paths|convert relative paths to absolute paths]].
 +
 +Switches mapping:
 +^ Switch                  ^ Mapping ^
 +| ''-delete''              | Value ''true'' (''$True'') for method parameter ''remove''. |
 +| ''-resume''              | Not supported. |
 +| ''-append''              | Not supported. |
 +| ''-preservetime'' \\ ''-nopreservetime'' \\  ''-permissions'' \\ ''-nopermissions'' \\ ''-transfer'' \\ ''-filemask'' \\ ''-resumesupport'' | [[library_from_script_transfer_settings|Converting transfer settings scripting switches]] to .NET assembly class ''TransferSettings''. |
 +| ''-speed=<kibps>''      | Not supported. |
 +
 +To emulate ''[[scriptcommand_option|option batch abort]]'' mode, call ''[[library_operationresultbase|TransferOperationResult.Check]]'' on method's result. See also [[library_session#results|Capturing results of operations]].
 +
 +For example, following script snippet
 +<code winscp>
 +option batch abort
 +...
 +cd /home/martinp
 +lcd d:\
 +...
 +put -delete -filemask=*>1M -resumesupport=off *.txt *.xml web/
 +</code>
 +maps to following PowerShell code
 +<code powershell>
 +$transferOptions = New-Object WinSCP.TransferOptions
 +# -filemask=*>1M
 +$transferOptions.FileMask = "*>1M"
 +# -resumesupport=off
 +$transferOptions.ResumeSupport.State = [WinSCP.TransferResumeSupportState]::Off
 +# Absolute paths + $True for -delete + Two calls for two source parameters
 +# + calling Check on result to emulate "option batch abort"
 +$session.PutFiles("d:\*.txt", "/home/martinp/web/", $True, $transferOptions).Check()
 +$session.PutFiles("d:\*.xml", "/home/martinp/web/", $True, $transferOptions).Check()
 +</code>

Last modified: by martin