Windows FTP でパッシブモードを使う。へなちょこFTP汚名返上か?


スポンサーリンク

Windows の ftp でパッシブモードが使えない。ってのが、結構スタンダードな見解

けど、Windows のFTPでパッシブモードに切り替えることができたら、これほど便利なものはない。

データをプログラムで自動バックアップだとか、ボタン一つであちらこちらに散らばったデータを集めてくるとか。

使い道は際限なく広がる。


でも世の中のサーバーは、ほとんどパッシブモード。

だから、Windows のFTPがパッシブモードを使えない=へなちょこFTP


そんで、今まで、スリッパでご立派の cipftp を使っていた。

が、windows8になって動作が不安定(今は、改善されている)


仕方ないからNEXTFTPのコマンドラインを使おうとしたら、なんと!ディレクトリが作れない!

ネット上で評価の高いFTPソフト WinSCP は・・・遅すぎて使い物にならない。


仕方ないからコマンドラインFTPを自作しようかと思って情報を集めていたら、なんと!あーた!

Windows の ftp で、パッシブモード切替があるでわないですか?!


切り替えはいたって簡単。


コマンドプロンプトで
C:\・・・>ftp
ftp>
C:\・・・>open (サーバー名)
(サーバー名)に接続しました。
220 ProFTPD なんとかかんとか
ユーザー():(ユーザー名)
331 Password required for (サーバー名)
パスワード:(パスワード)
230 User ・・・ logged in
ftp>quote pasv ←これが味噌!!
227 Entering Passive Mode (・・・・)
ftp>
これでパッシブモードでの接続オケ
あとは、通常のFTPコマンド。

Windows の FTP をパッシブモードでバッチで動かす


Windwos の ftp の -s オプションでコマンドファイルを実行させればいいってことね?

例えば、コマンドバッチには
— myftp.bat —
ftp -s:command.txt >> log.txt
———————-

— command.txt —
open (サーバー名)
(ログインID)
(ログインパスワード)
quote pasv
cd (転送先ディレクトリ)
lcd (転送元ディレクトリ)
put (転送ファイル名)
disconnect
bye
——————

プログラムでこのファイルを作って myftp.bat を起動すればいいわけです。

— myftp.bat —
ftp -s:%1 >> log.txt
———————-
としておくと汎用的ですね。


windows ftp コマンド


ftp ftpの接続
USER 指定したユーザー名でログイン
PASS 指定したユーザ名のパスワード
ls ファイル一覧の表示
get ファイルのダウンロード
mget 複数のファイルをダウンロード
prompt 対話/非対話モードの切り替え
put ファイルのアップロード※ワイルドカードを使用することで複数ファイルをアップロードする事も可能
mput 複数のファイルをアップロード
ascii asciiモードに
bin binaryモードに
TYPE 転送データの形式を指定(例:HTMLファイルなどの文字列なら[A]、画像などのバイナリファイルなら[I]など)
cd リモートのカレントディレクトリの移動
lcd ローカルカレントディレクトリ移動
del リモートのファイルの削除
mdel ファイルを複数削除する
rmdir リモートのディレクトリ削除
pwd リモートのカレントディレクトリ表示
!pwd ローカルカレントディレクトリ表示
mkdir リモートのディレクトリ作成
bye 切断

スポンサーリンク