 FTP

File Transfer Protocol

Syntax
      FTP [-options] [-s:filename] [-w:buffer] [host]

key   
   -s:filename   Run a text file containing FTP commands.

   host          Host name or IP address of the remote host.

   -g            Disable filename wildcards.

   -n            No auto-login.

   -i            No interactive prompts during ftp.

   -v            Hide remote server responses.

   -w:buffer     Set buffer size to buffer
                 (default=4096)

   -d            Debug
 
   -a            Use any local interface when binding data connection.


Commands to run at the FTP: prompt

append local-file [remote-file]
             Append a local file to a file on the remote computer.

ascii        Set the file transfer type to ASCII, the default. 
             In ASCII text mode, character-set and end-of-line
             characters are converted as necessary.

bell         Toggle a bell to ring after each command. 
             By default, the bell is off.

binary       Set the file transfer type to binary. 
	     Use `Binary' for transferring executable program
             files or binary data files e.g. Oracle

bye          End the FTP session and exit ftp

cd           Change the working directory on the remote host.

close        End the FTP session and return to the cmd prompt.

debug        Toggle debugging. When debug is on, FTP will display
             every command.

delete remote-file
             Delete file on remote host.

dir [remote-directory] [local-file]
             List a remote directory's files and subdirectories.
             (or save the listing to local-file)

disconnect   Disconnect from the remote host, retaining the ftp prompt.

get remote-file [local-file]
             Copy a remote file to the local PC.

glob         Toggle the use of wildcard characters in local pathnames.
             By default, globbing is on.

hash         Toggle printing a hash (#) for each 2K data block transferred. 
             By default, hash mark printing is off.

help [command]
             Display help for ftp command.

lcd [directory]
             Change the working directory on the local PC.
             By default, the working directory is the directory in which ftp was started.

literal argument [ ...]
             Send arguments, as-is, to the remote FTP host.

ls [remote-directory] [local-file]
             List a remote directory's files and folders.
             (short format)

mdelete remote-files [ ...]
             Delete files on remote host.

mdir remote-files [ ...] local-file
             Display a list of a remote directory's files and subdirectories.
             (or save the listing to local-file)
             Mdir allows you to specify multiple files.

mget remote-files [ ...]
             Copy multiple remote files to the local PC.

mkdir directory
             Create a directory on the remote host.

mls remote-files [ ...] local-file
             List a remote directory's files and folders.
             (short format)

mput local-files [ ...]
             Copy multiple local files to the remote host.

open computer [port]
             Connects to the specified FTP server. 

prompt       Toggle prompting. Ftp prompts during multiple file transfers to 
             allow you to selectively retrieve or store files;
             mget and mput transfer all files if prompting is turned off. 
             By default, prompting is on.

put local-file [remote-file]
             Copy a local file to the remote host.

pwd          Print Working Directory
             (current directory on the remote host)

quit         End the FTP session with the remote host and exit ftp.

quote argument [ ...]
             Send arguments, as-is, to the remote FTP host.

recv remote-file [local-file]
             Copy a remote file to the local PC.

remotehelp [command]
             Display help for remote commands.

rename filename newfilename
             Rename remote files.

rmdir directory
             Delete a remote directory.

send local-file [remote-file]
             Copy a local file to the remote host.

status       Display the current status of FTP connections and toggles.

trace        Toggles packet tracing; trace displays the route of each packet 

type [type-name]
             Set or display the file transfer type:
             `binary' or `ASCII' (the default)

             If type-name is not specified, the current type is displayed. 
             ASCII should be used when transferring text files.

             In ASCII text mode, character-set and end-of-line
             characters are converted as necessary.

	     Use `Binary' for transferring executable files. 

user user-name [password] [account]
             Specifes a user to the remote host.

verbose      Toggle verbose mode. By default, verbose is on.

! command    Run command on the local PC.

? [command]  Display help for ftp command.

An example FTP Script to retrieve files in binary and ascii mode 
::GetFiles.ftp

   [User_id]
   [ftp_password]
   binary
   get /usr/file1.exe
   get file2.html
   mget *.jpeg
   ascii
   mget *.txt
   quit

To run the above script:
   FTP -s:GetFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password

An FTP Script to publish files in binary mode 
::PutFiles.ftp

   [User_id]
   [ftp_password]
   binary
   mput *.html
   cd images
   mput *.gif
   quit

To run the above script:
   FTP -s:PutFiles.ftp [hostname]
This will connect as the user:User_id with password:ftp_password

This can be further automated by constructing the FTP file using a series of ECHO commands. Also you may want to put the main FTP command inside a batch script, which also CD's to the correct local folder before transferring any files.

Don't forget to delete/protect the script file if it contains a valid password.

"Happy is harder than money. Anyone who thinks money will make them happy, doesn't have money - David Geffen