ftp

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.

Examples

an example FTP Script to retrieve files in binary and then 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

Using the Windows GUI for FTP

Windows Explorer (not Internet Explorer) also has a built in FTP client.

Type in the address bar:

ftp://username@ftpserver.address.com

you will be prompted for the password.

You can also do

ftp://username:password@ftpserver.address.com

This is not recommended as anyone can read the password.

Secure FTP

Standard FTP does not encrypt passwords - they are sent across the network in plain text. A more secure method is to use SecureFTP (SFTP) or SecureCopy (SCP) Freeware clients are available e.g. WinSCP

"Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it" - Linus Torvalds

Related commands:

COPY - Copy one or more files to another location

XCOPY - Copy files and folders

REM - Add a comment (includes commenting FTP scripts)

Q271078 - Microsoft FTP does not support passive mode (error 425)

RAW FTP - Full list of RAW FTP commands

Equivalent bash command (Linux): FTP - File Transfer Protocol