Using command line FTP to upload to a website
Many software tools are available FTP file transfer. However, you can also use the tools that are built in to Windows.
We assume that you are competent with the basics of Windows. These instructions are just a brief overview of what you need to do. Before you start, ensure you know your FTP user name and FTP password (see your service provider).
Notes
- File names on an FTP site may be case-sensitive. Ask your service provider (but if you always ensure the case is correct, things can't go wrong).
- These instructions are for the Windows operating system.
- Words
in this textare what you see in the Command Prompt. - Words in this text are what you type.
- <Enter> means press the Enter key (also known as the Return key).
- Substitute text
<in angle brackets>with your specific text. - These instructions have been verified using Windows 2000 and Windows XP. They should work for other versions, but there may be slight differences.
- Some FTP sites require that you connect using 'passive' mode. Passive mode is not supported in the Windows command line program (http://ocforum.gsfc.nasa.gov/forum/topic_show.pl?tid=1352), so you cannot use the method described on this page (but you can use Windows Explorer).
- You can use Windows Explorer to transfer files by FTP. That's a much easier method than using raw FTP at the Command Prompt. Just type the FTP address in the Address Bar and enter your user name and password. Then copy files in the normal manner.
To connect to your website using command line FTP
- Open the DOS Command Prompt (Start>Programs>Accessories>Command Prompt).
- Type: ftp <your website address> <Enter>
Example:C:\ftp www.somename.co.uk - If you do not already have an open connection to the Internet, the Dial-Up Networking dialogue box appears. Click Dial to connect, and follow any instructions that appear.
- After the system establishes an Internet connection, the
Userprompt appears. Type your user name and press <Enter>. - Do similarly for your password.
- You should see something like:
C:\>ftp www.somename.co.uk
Connected to abc.def.net.
220 abc.def.net FTP server ready.
User (abc.def.net:(none)): joebloggs
331 Password required for joebloggs.
Password:
230 User joebloggs logged in.
ftp>
Theftpprompt on the bottom line shows that you can now upload, download and delete files on your website.
To upload to your website
You can either navigate to the directory that contains the files you want to upload, or you can specify the directory path when you upload. It's probably easiest to navigate to the relevant directory (details below).
- Set the transfer type:
- For ASCII files (such as HTML pages and CSS) type: ascii <Enter>
- For binary files (such as graphics, exe files) type: bin <Enter>
- Optional. Show the data transfer. Type: hash <Enter>
- Navigate to the local directory (that is, on your computer) that contains the files that you want to upload. Type: lcd <directory path> <Enter>
Note: if there are any spaces in the path name, you must enclose the path in double quote marks. - Upload or delete files using FTP commands. The most useful are:
- To upload a single file use
put. Example:ftp>put myfile.pdf <Enter> - To upload multiple files use
mput. Example:ftp>mput *.htm <Enter> - To quit FTP use
quit
- To upload a single file use
- Close the Command Prompt.
List of FTP commands
The table lists the DOS-based FTP commands that you can use in the Windows Command Prompt (other raw FTP commands are available). Some of the explanations are quite cryptic. Sorry.
| FTP command | Does this |
|---|---|
| ! | Escape to the shell |
| ? | Print local help information |
| append | Append to a file |
| ascii | Set ASCII transfer type. Use this for transfering text files, such as .htm. See www.superior-host.com/webhosting-guide/linux-files.html for an excellent discussion of when to use ascii mode and when to use binary mode. |
| bell | Beep when command completed |
| binary | Set binary transfer type. Use this for transfering binary files such as .exe and graphics images (see also ascii). |
| bye | Terminate the FTP session and exit |
| cd | Change remote working directory ( use .. to go to parent) |
| close | Terminate FTP session |
| delete | Delete remote file |
| debug | Toggle debugging mode |
| dir | List the contents of the remote directory |
| disconnect | Terminate the FTP session |
| get | Receive file (see also mget) |
| glob | Toggle metacharacter expansion of local file names |
| hash | Toggle printing '#' for each buffer transferred |
| help | Prints list of commands |
| lcd | Change the local working directory |
| literal | Send an arbitrary FTP command |
| ls | List contents of remote directory |
| mdelete | Delete multiple files |
| mdir | List the contents of multiple remote directories |
| mget | Get multiple files (see also get) |
| mkdir | Make a directory on the remote machine |
| mls | List contents of multiple remote directories |
| mput | Send multiple files (see also put) |
| open | Connect to remote FTP |
| prompt | Force interactive prompting on multiple commands (this is a toggle) |
| put | Send one file (see also mput) |
| pwd | Print working directory on remote machine |
| quit | Terminate FTP session and exit |
| quote | Send an arbitrary FTP command. You can view a list of raw FTP commands on www.nsftools.com/tips/RawFTP.htm |
| recv | Receive file |
| remotehelp | Get help from remote server |
| rename | Rename a file |
| rmdir | Remove a directory on the remote machine |
| send | Send one file |
| status | Show current status |
| trace | Toggle packet tracing |
| type | Set file transfer type |
| user | Send new user information |
| verbose | Toggle verbose mode |