Differences

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

2012-02-10 2012-02-17
library_install (martin) vbscript example (martin)
Line 15: Line 15:
You can use [[wp>Windows_Script_File|Windows Script File]] (WSF) and its ''<reference>'' tag for that. It makes WSH import all //enums// from the assembly type library into constants in script namespace with name like ''<type>_<member>'', e.g. ''Protocol.Sftp'' becomes ''Protocol_Sftp''. You can use [[wp>Windows_Script_File|Windows Script File]] (WSF) and its ''<reference>'' tag for that. It makes WSH import all //enums// from the assembly type library into constants in script namespace with name like ''<type>_<member>'', e.g. ''Protocol.Sftp'' becomes ''Protocol_Sftp''.
-See how ''%%<reference object="WinSCP.Session"/>%%'' allows use of ''Protocol_Sftp'' in below script:+See how ''%%<reference object="WinSCP.Session"/>%%'' allows use of ''Protocol_Sftp'' in below JScript script embedded in WSF:
<code javascript> <code javascript>
<job> <job>
-<reference object="WinSCP.Session"/>+<reference object="WinSCP.Session"·/>
<script language="JScript"> <script language="JScript">
Line 57: Line 57:
function session_FileTransferred(sender, e) function session_FileTransferred(sender, e)
{ {
-    WScript.Echo(e.FileName + "·=>·" + e.Destination);+    WScript.Echo(e.FileName, "=>", e.Destination);
} }
var session = WScript.CreateObject("WinSCP.Session", "session_"); var session = WScript.CreateObject("WinSCP.Session", "session_");
 +</code>
 +
 +And equivalent in VBScript:
 +
 +<code vb>
 +Sub session_FileTransferred(sender, e)
 +    WScript.Echo e.FileName, "=>", e.Destination
 +End Sub
 +
 +Set session = WScript.CreateObject("WinSCP.Session", "session_")
</code> </code>
Line 68: Line 78:
<code javascript> <code javascript>
<job> <job>
-<reference object="WinSCP.Session"/>+<reference object="WinSCP.Session"·/>
<script language="JScript"> <script language="JScript">
Line 99: Line 109:
    WScript.Echo("Upload of", enumerator.item().FileName, "succeeded");     WScript.Echo("Upload of", enumerator.item().FileName, "succeeded");
} }
 +
 +</script>
 +</job>
 +</code>
 +
 +===== VBScript Example =====
 +This example is functionally equivalent to [[library#example|overall C# example for WinSCP .NET assembly]].
 +
 +<code vb>
 +<job>
 +<reference object="WinSCP.Session" />
 +<script language="VBScript">
 +
 +' Setup session options
 +Set sessionOptions = WScript.CreateObject("WinSCP.SessionOptions")
 +                 
 +sessionOptions.Protocol = Protocol_Sftp
 +sessionOptions.HostName = "example.com"
 +sessionOptions.UserName = "user"
 +sessionOptions.Password = "mypassword"
 +sessionOptions.SshHostKey = "ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
 +
 +Set session = WScript.CreateObject("WinSCP.Session")
 +
 +' Connect
 +session.Open(sessionOptions)
 +
 +' Upload files
 +Set transferOptions = WScript.CreateObject("WinSCP.TransferOptions")
 +transferOptions.TransferMode = TransferMode_Binary
 +
 +Set transferResult = session.PutFiles("d:\\toupload\\*", "/home/user/", False, transferOptions)
 +
 +' Throw on any error
 +transferResult.Check()
 +
 +' Print results
 +For Each transfer in transferResult.Transfers
 +    WScript.Echo "Upload of", transfer.FileName, "succeeded"
 +Next
</script> </script>
</job> </job>
</code> </code>

Last modified: by martin