コマンドプロンプトでFTP接続

Windows端末でFTP接続したいが、FTPクライアントがなく困ったことがある。
コマンドプロンプトでもFTP接続できるので、今一度やり方をまとめておこうと思う。

最近はSCPなど暗号化通信でのファイル転送が主流になってきているが、
FTPも廃れたわけではないので、覚えておけば色々と役に立つことが多いと思う。


WindowsでもUNIX系でも基本的な操作は一緒


Windowsでのやり方を覚えておけば、UNIX系のOSでも基本的な操作は一緒である。
Windowsでは標準で付属しているので、コマンドプロンプトを立ち上げれば使用できる。

接続の仕方は下記のようにコマンドを入力する。
その後、ユーザ名とパスワードを聞かれるので、正しく入力すればログイン完了となる。

 ftp [サーバアドレス]


この他に「ftp」とだけ入力して、一旦FTPモードに遷移してから接続する方法もある。
どちらでもやりやすい方で良いと思うが、今回はFTPモードに遷移してから接続してみたい。

 C:\work>        #カレントディレクトリはそのまま引き継がれる
C:\work>ftp #コマンド入力
ftp> #FTPモードに遷移するとプロンプトが変わる
ftp>
ftp> ? #「?」でヘルプ表示が可能
コマンドは省略することができます。コマンド:

! delete literal prompt send
? debug ls put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote user
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
ftp>
ftp> open localhost #FTPサーバへ接続(IPアドレスやドメイン名を指定)
user-PC に接続しました。
220-Welcome To FTP!!!
220 Enter Your ID
502 Command not implemented.
ユーザー (user-PC:(none)): XXX #ユーザ名を入力
331 Enter Your Password
パスワード: #パスワードを入力
230 Login OK!!!
ftp> #元のプロンプトへ戻る


FTP接続完了後は下記コマンドを用いて操作する。

 ftp> dir             #FTPサーバのディレクトリ確認
200 PORT command successful.
150 Opening data connection.
drwxrw-rw- 0 owner 0 Sep 19 16:00 .
drwxrw-rw- 0 owner 0 Sep 19 16:00 ..
-rwxrw-rw- 0 owner 13 Sep 19 16:00 test.txt
226 Transfer complete.
ftp: 176 バイトが受信されました 0.01秒 11.73KB/秒。
ftp>
ftp> get test.txt #FTPサーバからカレントディレクトリにファイルを転送
200 PORT command successful.
150 Opening data connection.
226 Transfer complete.
ftp: 13 バイトが受信されました 0.00秒 13000.00KB/秒。
ftp>
ftp> put ftp.txt #カレントディレクトリからFTPサーバへファイルを転送
200 PORT command successful.
150 Opening data connection.
226 Transfer complete.
ftp: 13 バイトが送信されました 0.00秒 13000.00KB/秒。
ftp>
ftp> dir #FTPサーバのディレクトリ確認
200 PORT command successful.
150 Opening data connection.
drwxrw-rw- 0 owner 0 Sep 19 16:04 .
drwxrw-rw- 0 owner 0 Sep 19 16:04 ..
-rwxrw-rw- 0 owner 13 Sep 19 16:04 ftp.txt
-rwxrw-rw- 0 owner 13 Sep 19 16:00 test.txt
226 Transfer complete.
ftp: 237 バイトが受信されました 0.02秒 14.81KB/秒。
ftp>
ftp> bye #FTP接続終了、quitでも同じ
221 Good-Bye

C:\work> #元のプロンプトへ戻る


サーバ→ローカルへの転送はget、ローカル→サーバはputと覚えておけば、
その他は似たようなコマンドなのでなんとかなるだろう。

これで、Windowsの機能のみで、リモート接続ファイル比較、FTP転送が可能となった。
困ったときは思い出してみると良いかもしれない。


コマンドの補足


載せきれなかったが覚えておきたいコマンドがあるので、下記に記載したい。

サーバのカレントディレクトリを表示(ローカルではない点に注意)
 pwd


サーバのディレクトリを移動する(ローカルではない点に注意)
 cd


ローカルのディレクトリを移動する
 lcd


ファイル転送モードをアスキーモードにする(デフォルト)
 ascii


ファイル転送モードをバイナリモードにする(デフォルトはアスキーモード)
 binary


ローカルのファイルやディレクトリ一覧を表示(!なしだとサーバ側の一覧表示)
 !dir


FTPの設定確認
 status


以上。



[改訂新版]Windowsコマンドプロンプトポケットリファレンス


人気記事