This is an old revision of the document!
Session.ExecuteCommand Method
Executes command on the remote server.
This feature will be available only with the next release.
Advertisement
Syntax
public CommandExecutionResult ExecuteCommand(string command)
Parameters
Name | Description |
---|---|
string command | Command to execute. |
Return Value
CommandExecutionResult
with command output.
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | Session is not opened. |
SessionLocalException | Error communicating with winscp.com . See the exception documentation for details. |
SessionRemoteException | Session has failed. Command has failed. See the exception documentation for details. |
TimeoutException | Timeout waiting for winscp.com to respond. |
Advertisement
Remarks
With SFTP and SCP protocols, executes arbitrary remote shell command. With FTP protocol, executes a protocol command.
With SFTP protocol, that does not allow execution of arbitrary remote command, separate shell session will be automatically opened.
The command must not require user input.
Example
C# Example
using System; using WinSCP; class Example { public static int Main() { try { // Setup session options SessionOptions sessionOptions = new 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"; using (Session session = new Session()) { // Connect session.Open(sessionOptions); // Execute mysqldump on the server to dump all MySQL databases and compress the results const string dbUsername = "USERNAME"; const string dbPassword = "PASSWORD"; const string tempFilePath = "/tmp/all_databases.gz"; string dumpCommand = string.Format("mysqldump --opt -u {0} --password={1} --all-databases | gzip > {2}", dbUsername, dbPassword, tempFilePath); session.ExecuteCommand(dumpCommand); // Download the database dump session.GetFiles(tempFilePath, "D:\\dbbackup\\").Check(); } return 0; } catch (Exception e) { Console.WriteLine("Error: {0}", e); return 1; } } }
Advertisement