FTPで存在しないディレクトリを指定した場合、CompleteFTPのデフォルトでは、レスポンスコード 550を返します。
ご利用をいただきます環境により レスポンスコード 150 を返す必要がある場合、以下の手順で設定をいただけます。
LISTコマンドに対するレスポンスコードで150を返していただくには、CompleteFTPのコマンドラインインターフェース(CLI)を使用したいくつかの手順が必要です。
本設定は、CompleteFTP バージョン26.1.2が必要となります。
以下の手順に沿って、慎重に作業を進めてください(コマンドはコピーしてご使用ください)。
1. 管理者権限でコマンドプロンプトを開く
コマンドプロンプトを右クリックし、「管理者として実行」を選択してください。
2. 現在のサービス設定を確認する
sc qc CompleteFTP
現在の BINARY_PATH_NAME の値を控えておいてください。必要に応じて元に戻せるようにするためです。
3. CLI引数を追加する(インストールディレクトリが異なる場合はパスを調整してください)
sc config CompleteFTP binpath= “”C:Program FilesComplete FTPserverCompleteFTPService.exe” –enable-admin-cli”
※ binpath= の後には必ず半角スペースを入れてください。
4. 変更を反映させるためサービスを再起動する
sc stop CompleteFTP
sc start CompleteFTP
(またはサービス管理コンソール services.msc から操作しても構いません。)
5. CLIを使ってリスティングのカスタムオプションを有効化する
“C:Program FilesComplete FTPservercompleteftp.exe” site set “Default Site” customOptions={“emptyListingForMissingPath”:true}
動作確認
設定が正しく反映されたか確認するには、FTPでサーバーに接続し、存在しないディレクトリ名(例:dir kldfjlsdfjdsf)を入力してください。以下のような応答が返れば成功です。
150 Opening ASCII mode data connection for listing
226 Transfer complete
元のレスポンスコード 550に戻す場合
手順5 の {“emptyListingForMissingPath”:true} を {“emptyListingForMissingPath”:false} に変更して実施してください。
“C:Program FilesComplete FTPservercompleteftp.exe” site set “Default Site” customOptions={“emptyListingForMissingPath”:false}