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

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


 

書式


  Ex:Ftp.Delete: (Parameters)  

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

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

del.Name= : string, 削除するサーバ上のファイルのフルパス
del.LocalDir= : string, ローカル側で削除するファイルがあるときのフォルダ (optional)

次の4つはフラグオプションです。
DELE.preCheck : flag-string, DELEコマンド実行前にNLSTでチェック
DELE.afterCheck : flag-string, DELEコマンド実行後にNLSTでチェック
DELE.igC : flag-string, DELE.preCheck のチェックで大文字小文字を無視
DELE.allowNotExist : flag-string, DELE.preCheck指定時、存在していないときも OK: を返す

 

機能


FTPのDELEコマンドで サーバのファイルを削除します。

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

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

 

ファイルの指定


削除するファイルは、 del.Dir= にディレクトリ、 del.Name= にファイル名を指定します。
例えば、サーバの /MyDir/work/misc/image01.jpg というファイルを削除する場合は、
  del.Dir="/MyDir/work/misc" del.Name="image01.jpg"
と指定します。

フルパスで指定する場合は del.Name= に指定します。 del.Dir=は指定しません。
(O:rDir.NLST= のオプションで取得したファイル名と同じ書式になります)

del.Name=に、 改行(CR,LF の2バイト, \r\n で表記) で区切って複数のファイルを指定することができます。
この場合、 del.Dir= の指定はできません。 del.Name=に、各ファイルをフルパスで記述します。

del.Dir= および del.Name= に指定する文字列では (XPWD) の6文字で、FTPサーバにログインした時のディレクトリを表現することができます。
例えば、ログイン時のディレクトリが /user/MyHome だった場合、
  del.Dir="(XPWD)/img/aaa.jpg"
とすることで、 /user/MyHome/img/aaa.jpg を指定することができます。

 

オプションパラメータ


このコマンドはサーバにログインしたあと、FTPのXPWDコマンドを送信します。 このコマンドの応答を取得したいときは O:Xpwd= オプションに文字列変数を指定してください。

次の4つのオプションは、FTPのNLSTコマンドを使用します。NLSTコマンドが使用できないFTPサーバでは指定できません。
(サブディレクトリでNLSTが使えないFTPサーバがあります)
  DELE.preCheck
  DELE.afterCheck
  DELE.igC
  DELE.allowNotExist

DELE.preCheckオプション を指定したときは、 DELEコマンド実行前にNLSTコマンドを実行し、 その応答内にDELEコマンドで削除しようとしているファイルがあるかどうかをチェックします。 存在しなかったときはDELEコマンドは実行されず、O:result= に結果を設定して終了します。
DELE.allowNotExistオプション が同時に指定されていたときは、 DELEコマンドで削除しようとしたファイルがない場合でも O:result= で指定した文字列変数には OK: で開始される文字列が設定されます。
DELE.allowNotExistオプション が指定されていないときは、 DELEコマンドで削除しようとしたファイルがないときは O:result= に指定した文字列変数には NG: で開始される文字列が設定されます。

DELE.igCオプションは、DELE.preCheckオプション を指定するときに追加で指定できるオプションです。
これを指定したときは、事前チェック(DELEコマンド実行前のNLSTチェック)で、大文字小文字の区別をしません。
例えば、DELE.igCオプションを指定しない場合、 del.Name= で /home/img/aAa.jpg を指定したのに対し、サーバに /home/img/AaA.jpg だけがあるとすると、 事前チェックでファイル無しと判定されますが、 DELE.igCオプションを指定していると ファイルありとなります。 そして、その後のDELEコマンドで削除されるファイルは /home/img/aAa.jpg ではなく、 /home/img/AaA.jpg になります。
このファイル名の自動変更は、 事後チェック(DELEコマンド実行後のNLSTチェック) にも影響します。削除確認に使用されるファイル名はコマンドで指定した /home/img/aAa.jpg ではなく、 事前チェックで発見した /home/img/AaA.jpg になります。

DELE.afterCheckオプション を指定したときは、 DELEコマンド実行後にNLSTコマンドを実行し、 その応答内にDELEコマンドで削除したファイルが 存在しないかどうか をチェックします。
存在する場合は、削除できなかったとして、 O:result= に指定した文字列変数には NG: で開始される文字列が設定されます。

del.LocalDir=オプションは、サーバのファイルが削除できたときに、 PCのローカルファイルも消すときに指定します。
例えばオプションで、
  del.Name="/user/img/aaa.jpg" del.LocalDir="C:\\Work\\MyImage"
を指定した場合、 サーバのファイルを削除できたときには C:\Work\MyImage\aaa.jpg のローカルファイルも削除されます。

 

Sample


HashTable.Copyコマンド に、サーバの dbファイル を削除する例があります。

 

Ftp.Uploadコマンドについて


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

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



[BACK]
プロセルピナ