プロセルピナ
Top Internet
Mail
Private
Proxy
Capture
Device
Download Config
and
Words
Online
Help
Online
Home
[BACK]
Top > FileDownload > Macro > Ex: Command > Ftp.NLST

 
 Ex:Ftp.NLSTコマンド
Macro Top | Variables | Constants | Commands | Ex-Commands  


 

書式


  Ex:Ftp.NLST: (Parameters)  

パラメータ :
server= : string, FTPサーバ(接続先)
user= : string, ログインユーザ名
passw= : string, ログインパスワード

rDir= : string, 確認するサーバ上のディレクトリ(無い場合は作成)
rDir.Base= : string 確認するディレクトリの基部 (optional)
O:rDir.NLST= : ファイル一覧の取得 (NLSTコマンド結果)

enc= : string, エンコード(charset) (optional)
O:result= : コマンド結果 (optional)
O:Xpwd= : FTPのXPWDコマンド実行結果 (optional)
no-pasv : flag-string, passiveモードを使用しないときに指定 (optional)
NLST.CwdMode : flag-string, CWDモードを使用するときに指定 (optional)

 

機能


FTPのNLSTコマンドで サーバのファイル一覧を取得します。

NLSTのターゲットとなるディレクトリは、 rDir= と、 rDir.Base= のパラメータで指定します。

ファイル一覧は O:rDir.NLST= で指定した文字列変数に、改行区切りで設定されます。
splitコマンドなどで 各行に分解して使います。

コマンド実行が正常に実行されたかどうかの結果は、 コマンドパラメータ O:result= で指定した文字列変数に設定されます。
正しく処理された場合は OK: の3文字で開始される文字列が設定され、 エラーがあった場合は NG: の3文字で開始される文字列が設定されます。

ログインユーザ名(user=)と、 ログインパスワード(passw=)の指定は、マクロファイルに直接記述するよりも、 Ex:InputFormコマンド などの活用をおすすめします。

 

rDir= と rDir.Base= による ターゲットディレクトリの指定


ターゲットとなるディレクトリは、 rDir= と、 rDir.Base= のパラメータで指定します。

以下、 /user/myHome/img のディレクトリをターゲットとするときの例で説明します。

CWDコマンドで ルート("/") にディレクトリを移動できる場合は
  rDir="/user/myHome/img"
と指定します。 rDir.Base= の指定は不要です。

ログイン時のディレクトリが /user/myHome で、FTPユーザーは これ以上は上位のディレクトリに移動できない場合は、
  rDir.Base="/user/myHome" rDir="/img"
と分割して指定します。

ログイン時のディレクトリが /user/myHome で、/user のディレクトリには移動できても、 それ以上は上位のディレクトリに移動できない場合は、
  rDir.Base="/user" rDir="/myHome/img"
と指定します。
/user のディレクトリに移動する必要がない場合は、
  rDir.Base="/user/myHome" rDir="/img"
と指定してもかまいません。

ログイン時のディレクトリを rDir.Base= に自動設定する場合は、
  rDir.Base="(XPWD)"
を指定します。
ログイン時のディレクトリが /user/myHome で、FTPユーザーは これ以上は上位のディレクトリに移動できない(または移動しない)場合は、
  rDir.Base="(XPWD)" rDir="/img"
と指定することで、 /user/myHome/img をターゲットディレクトリとして扱うことができます。

 

オプションパラメータ


このコマンドはサーバにログインしたあと、FTPのXPWDコマンドを送信します。 このコマンドの応答を取得したいときは O:Xpwd= オプションに文字列変数を指定してください。
設定されるのは OK: または NG: で開始される文字列です。
OK: で開始される場合、その後ろにサーバからの XPWDコマンド応答 がそのまま付与されます。

FTPコマンドは "NLST /user/myHome/img" のようなイメージでサーバに送信されます。これを、CWDコマンドで /user/myHome/img ディレクトリ に移動し、そこでNLSTコマンドを送信するようにするには、 NLST.CwdModeオプション を指定します (CWDモード)。
FTPサーバによっては、 NLST.CwdModeオプション を指定しないと正しくリストを取得できない場合があります。
CWDモードを指定した場合でも、 O:rDir.NLST= に設定されるイメージは変わりません。各ファイルはフルパスで設定されます。

 

Sample


ログイン時のディレクトリが /myHome の例



結果の例



 

Ftp.Uploadコマンドについて


Ex:Ftp.Uploadコマンドは ファイルをアップロードをするときに使うコマンドですが、 ファイルのアップロードを行わずにNLSTオプションのみを使用して、 ファイル一覧取得目的で使うこともできます。

Ex:Ftp.NLSTコマンドは Ex:Ftp.Uploadコマンドと全く同じものです。
わかりやすいように、 ファイルの一覧取得だけが目的の場合は Ex:Ftp.NLSTコマンド で記述します。
次の2行は、どちらも同じ機能です。



[BACK]
プロセルピナ