fortypoundhead.com

FTP

Posted On 2005-11-1 by FortyPoundHead
Keywords:
Tags: Windows Commandline Windows
Views: 1504


The File Transfer Protocol (FTP) is the standard network protocol used for the transfer of computer files between a client and server on a computer network.

Syntax

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

Key

switch description
-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.

FTP Commands

These are commands that can be run while in an FTP session.

command description
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

Scripting FTP

It is easily possible to automate an FTP session. However, be warned that credentials are stored in plain text, so it inherently insecure. Here is a sample script:

::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.

If you do use this automation method, don't forget to delete/protect the script file if it contains a valid password.


About the Author

FortyPoundHead has posted a total of 1974 articles.

 


Comments On This Post

No comments on this post yet!


Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.


Your IP address is:54.166.188.64

Before you can post, you need to prove you are human. If you log in, this test goes away.




Recent Forum Posts

Advanced search added
dwirch posted on September 23, 2017 at about 13:44 in Site News

Job Spammer: Gaurav Mehta - AgreeYa Solutions
dwirch posted on September 22, 2017 at about 10:35 in Spammers

Job Spammer: Prutha Siri - Javelin Systems
dwirch posted on September 10, 2017 at about 6:15 in Spammers

New security implemented
dwirch posted on September 7, 2017 at about 7:16 in Site News

Malicious IP Checker Companion Tool
dwirch posted on August 12, 2017 at about 20:24 in Site News

Job Spammer: Steve Adams
dwirch posted on August 8, 2017 at about 7:44 in Spammers