Programming Field

Ftp - DOS/Windows コマンド一覧

スポンサーリンク

FTP サーバに接続してファイルの転送(ダウンロード・アップロード)を行う対話型プログラムです。

※ このプログラムは DOS のプログラムではなく、Windows 95 以降で使用できる Windows コンソールプログラムです。

※ ここでは ftp.exe の使用方法については記述しません。

構文

ftp[.exe] [-v] [-d] [-i] [-n] [-g] [-s:<filename>] [-a] [-w:<buffer-size>] [-A] [<host>]

オプションの文字は大文字・小文字が区別されます。また、他のコマンドとは異なり、オプションは「/」ではなく「-」で指定する必要があります。

-v
FTP サーバの応答メッセージを表示しないようにします。ただし ftp.exe 内で使用できる pwd コマンドなど、応答の表示が必要なコマンドはちゃんと表示されます。
ftp.exe 内では verbose コマンドでこれを切り替えることが出来ます。
-d
ftp.exe をデバッグモードで実行します。デバッグモードでは、ftp.exe がサーバに送信するコマンドがすべて表示されます。なお、サーバに送信する PASS コマンドもパスワードを伏せることなく表示されるので注意してください。
ftp.exe 内では debug コマンドでこれを切り替えることが出来ます。
-i
ftp.exe 内の mget コマンドと mput コマンド(複数ファイルの送受信に使用)で、1つずつファイルを送信/受信するか尋ねずに、すべてに対して送信/受信を行います。これを指定しない場合は、1つずつのファイルに対して送信/受信を行うかを yes/no/quit (y/n/q) で指定する必要があります。
ftp.exe 内では prompt コマンドでこれを切り替えることが出来ます。
-n
サーバに接続するときユーザ名を尋ねないようにします。この場合、ftp.exe 内の user コマンドを使用してユーザを名乗る必要があります。
-g
ファイル名などでワイルドカードを使用できないようにします。
ftp.exe 内では glob コマンドでこれを切り替えることが出来ます。
-s:<filename>
ftp.exe を実行したときに、最初に実行するコマンドが書かれたファイルを指定します。これにより ftp.exe を利用した一種のスクリプトのようなものを実行することが出来ます。
-a
FTP のデータ通信をバインドするときに、ローカルの機能を利用します。具体的には、ftp.exe がサーバに送信する PORT コマンドで使うアドレスはすべて「0.0.0.0」になります。
-s:<buffer-size>
データ通信のバッファのサイズを指定します。指定しない場合、4096 が使用されます。
-A
サーバに接続するときに匿名ユーザ「anonymous」で接続するようにします。パスワード(メールアドレスを表す)は「(ローカルコンピュータの)ログインユーザ名@コンピュータ名」になります。
<host>
FTP サーバ「<host>」に接続します。<host> は通常のホスト名かIPアドレスを指定します。「ftp://」は必要ありません。

解説

コマンドラインで FTP に接続するプログラムで、Windows に(ほとんど)標準で付いています。

なお、このプログラムはメッセージがすべて英語なので注意してください。

サンプル 1

ftp ftp.microsoft.com

FTP サーバ「ftp.microsoft.com」に接続します。これを実行するとユーザ名を尋ねられるので、通常は「anonymous」(匿名)と入力し、パスワードにメールアドレス(または空欄)を入力します。

サンプル 2

ftp -n myserver.net

myserver.net に接続しますが、ユーザ名を名乗りません。実際は入力状態になったら「user」コマンドを使ってユーザを名乗る必要があります。

サンプル 3 (バッチプログラム)

@echo off
echo open ftp.hogehoge.net > ftpscrpt.txt
echo user admin mypassword >> ftpscrpt.txt
echo lcd C:\LogsFile >> ftpscrpt.txt
echo cd /logs >> ftpscrpt.txt
echo mget *.log
echo bye
ftp -v -i -n -s:ftpscrpt.txt
del ftpscrpt.txt

echo コマンドと「>>」などを使って ftp.exe 用のスクリプトを作成して、それを使って ftp.exe を実行しています。なお、このサンプルでは FTP 接続に使うパスワードをそのまま書いているため、セキュリティ的には問題があります。