Windows FTP でパッシブモードを使う。へなちょこ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 | 切断 |
スポンサーリンク