Ben Biddington

Whatever it is, it's not about "coding"

FTP command line fu

with one comment

The Windows FTP utility can be easily automated, but if you want to record the output from a session it appears you need to do things in a particular way.

Redirection

It appears this does not work as expected, i.e. you can’t redirect stdout from an interactive ftp session to local file. It creates the file but with nothing in it.

Solution is to run ftp with the -s option which specifies a file containing the full list of commands to be run (including log-in).

> ftp -s:commands.txt > out/result.txt

Where your commands list looks like this example that prints the contents of a directory called phils_lunchbox :

open host_or_ip_address port
username
Password
cd phils_lunchbox
ls -l
quit
Done.

Tips

  • Don’t forget to add the quit or bye command at the end otherwise your command line’ll hang

References

Advertisements

Written by benbiddington

3 August, 2010 at 13:37

Posted in development

Tagged with , , ,

One Response

Subscribe to comments with RSS.

  1. You can also do multiple uploads to different servers from one script using the ‘disc’ command:

    open host
    username
    password
    put jazz_in_a_bin.zip
    disc

    open host2

    Philbo

    4 August, 2010 at 09:19


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: