Run sftp Batch Files

Using sftp batch files provides a secure way to automate file management.

To create and run an sftp batch file

  1. Configure the client and server to support a non-interactive client authentication method, such as GSSAPI, or public key without passphrase protection.

    NOTE:Authentication methods that require interaction are not supported when you use the sftp batch file option (-B).

  2. On the client, create an sftp batch file. The batch file can use any of the interactive commands supported by sftp. For example, you might create a file called demo with commands such as:

    get path/file1
    get webfiles/*.htm
  3. Use sftp to connect to the remote host and run the batch file. For example:

    sftp -B demo

The client runs the commands in the batch file and then exits.


  • After a successful login, sftp executes each command in the batch file until a bye, exit or quit command is found, and then terminates the connection.

  • If a command in the batch file fails, sftp continues executing the remaining commands, and returns the error code of the first failed command. However, commands prefixed with "-" (dash) always return 0, even if the command fails. To configure a batch file that returns a separate error for each transfer command, use scp.