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> | ||