サイトアイコン puti se blog

WindowsでftpクライアントとしてPASVモードが使えるコマンドは?

Windowsの標準ftpクライアントコマンドでは、PASVモード(パッシブモード)が使用できず、アクティブモードしか使えません。
しかし、一般的にインターネット越しのFTPサーバーはパッシブモードが多いです。
Windowsでパッシブモードが使用できるジョブ化できるftpクライアントコマンドは無いのでしょうか?

FTPのアクティブモードとパッシブモードの違い

FTPのアクティブモードは、クライアントのコマンドは、上記「制御系」のTCPコネクションでやり取りしますが、データ転送(または返信)は上記「転送系」のTCPコネクションでやり取りします。
ここで、アクティブモードでは「転送系」の接続はFTPサーバーからクライアントPCに接続してくるためクライアント側のファイアウォールが通信をブロックしてしまうケースがあります。

FTPのパッシブモードは、クライアントのコマンドは、上記「制御系」のTCPコネクションでやり取りしますが、データ転送(または返信)は上記「転送系」のTCPコネクションでやり取りします。
ここで、パッシブモードでは「転送系」の接続はクライアントPCからFTPサーバーに接続するところがアクティブモードと異なります。

結論、フリーソフトのWinSCPでコマンド実行もFTPスクリプト化も可能です

残念ながらWindows標準の機能では実装出来ないのですが、インフラSEには比較的有名なフリーソフト「WinSCP」でGUIだけでなくCUIコマンド実行も出来ます。

「WinSCP.com」でCUIコマンド操作が可能です。

参考: WinSCPとは :: WinSCP

WinSCP.comのFTPコマンドも標準FTPコマンドに近しく親しみやすいUI

以下、WinSCP.comのhelpを打った結果です。

その他にも、helpには表示がありませんでしたが「mget」も使用できました。
こちらのコマンドでFTPスクリプトを書き、WinSCP.comの引数指定することで、FTPジョブの自動化も可能です。

モバイルバージョンを終了