GrapeCity Secure FTP for .NET 4.0J
ListDirectoryTree メソッド
使用例 

リモートディレクトリーのパス。nullまたは空の文字列は、現在の作業ディレクトリーを示します。
検索パターン。nullまたは空の文字列は、すべてのファイルを示します。
空のディレクトリーを除外するかどうかを示します。
ディレクトリーツリー内のリモートファイルおよびディレクトリーの再帰的なディレクトリーリストを取得します。
シンタックス
Public Function ListDirectoryTree( _
   ByVal remoteRoot As String, _
   ByVal pattern As String, _
   ByVal excludeEmptyDirs As Boolean _
) As List(Of ListEntry)
public List<ListEntry> ListDirectoryTree( 
   string remoteRoot,
   string pattern,
   bool excludeEmptyDirs
)

パラメータ

remoteRoot
リモートディレクトリーのパス。nullまたは空の文字列は、現在の作業ディレクトリーを示します。
pattern
検索パターン。nullまたは空の文字列は、すべてのファイルを示します。
excludeEmptyDirs
空のディレクトリーを除外するかどうかを示します。

戻り値の型

リモートファイルのList
解説

Getメソッドのパラメーターとして使用できるリモートファイルのListを作成します。

このメソッドの実行中、DataIsBusyはtrueを返します。

空のディレクトリーとは、そのツリー内のどこにもファイルが含まれないディレクトリーを指します。空のディレクトリーを含む空のディレクトリーは空と見なされます。

使用例
以下のサンプルコードは、サーバーから複数のファイルを取得する方法を示します。 mget関数は、Ftp.Startメソッドに渡して非同期に実行できます。
private void mget()
{
    // ディレクトリー内のテキストファイルを取得します。
    ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer;
    ftp1.Session.Username = myUsername;
    ftp1.Session.Password = myPassword;
    ftp1.Connect();
    ftp1.Authenticate();

    // 取得するtxtファイルのリストを取得します。
    List<ListEntry> filesToGet = ftp1.ListDirectoryTree("MyTextFiles", "*.txt", true);

    // リストに特定のファイルが含まれないようにします。
    foreach (ListEntry entry in filesToGet)
    {
        if (entry.Name == "not_me.txt")
        {
            filesToGet.Remove(entry);
            break;
        }
    }

    // ファイルを取得します。
    string workingDirectory = ftp1.GetDirectory();
    ftp1.Get(filesToGet, workingDirectory + "/MyTextFiles", myLocalDirectory, Synchronize.Off);

    // ログアウトします。
    ftp1.Close();
}
Private Sub mget()
    ' ディレクトリー内のテキストファイルを取得します。
    ftp1.Session.RemoteEndPoint.HostNameOrAddress = myServer
    ftp1.Session.Username = myUsername
    ftp1.Session.Password = myPassword
    ftp1.Connect()
    ftp1.Authenticate()

    ' 取得するtxtファイルのリストを取得します。
    Dim filesToGet As List(Of ListEntry) = ftp1.List("MyTextFiles", "*.txt", True)

    ' リストに特定のファイルが含まれないようにします。
    For Each entry As ListEntry In filesToGet
        If entry.Name = "not_me.txt" Then
            filesToGet.Remove(entry)
            Exit For
        End If
    Next entry

    ' ファイルを取得します。
    Dim workingDirectory As String = ftp1.GetDirectory()
    ftp1.Get(filesToGet, workingDirectory & "/MyTextFiles", myLocalDirectory, Synchronize.Off)

    ' ログアウトします。
    ftp1.Close()
End Sub
参照

関連項目

Ftp クラス
Ftp メンバ

 

 


© 2002, GrapeCity inc. All rights reserved.