GrapeCity Secure FTP for .NET 4.0J
複数のファイルをダウンロードする

複数のファイルを一括してダウンロードするには、Get(List,String,String,Synchronize)メソッドを使用します。

  • Getメソッドの第3引数により、タイムスタンプの新しいファイルのみをダウンロードしたり、ダウンロード後にタイムスタンプを同じ値に設定したりすることができます。詳細については「Synchronize 列挙体」をご覧ください。
  • このトピックのサンプルコードでは、サーバーとの接続に関する処理を省略しています。接続処理については「FTPサーバーとの接続」をご覧ください。

リストを指定して一括ダウンロードする

ListメソッドまたはListDirectoryTreeメソッドでダウンロードするファイルのリストを作成し、そのリストをGet(List,String,String,Synchronize)メソッドの第1引数に指定します。

ListDirectoryTreeメソッドを使用すると、サブディレクトリ以下を含むファイルのリストを作成できます。この場合はサブディレクトリ以下のファイルもダウンロード対象になり、ディレクトリごとダウンロードが行われます。

Visual Basic
コードのコピー
' FTPサーバーのカレントディレクトリ名を取得します。
Dim workingDirectory As String = Ftp1.GetDirectory()

' ダウンロードするファイルのリストを作成します。
' ここでは、"myFolder"ディレクトリ内の全ファイルを対象にしています。
Dim filesToGet As List(Of Dart.Ftp.ListEntry)
filesToGet = Ftp1.List(workingDirectory + "/myFolder", "*.*", Dart.Ftp.ListType.Full)

' ListDirectoryTreeメソッドにより、サブディレクトリ以下も含むファイルのリストを作成できます。
'filesToGet = Ftp1.ListDirectoryTree(workingDirectory + "/myFolder", "*.*", False)

' 特定のファイルをダウンロードしない場合は、そのファイルをリストから削除します。
' ここでは、"not_me.txt"というファイルをリストから削除しています。
'For Each entry As Dart.Ftp.ListEntry In filesToGet
'    If entry.Name = "not_me.txt" Then
'        filesToGet.Remove(entry)
'        Exit For
'    End If
'Next entry

' リストに含まれるファイルを、c:\tempディレクトリにダウンロードします。
Ftp1.Get(filesToGet, workingDirectory + "/myFolder", "c:\temp", Dart.Ftp.Synchronize.SetDateTime)
C#
コードのコピー
// FTPサーバーのカレントディレクトリ名を取得します。
string workingDirectory = ftp1.GetDirectory();

// ダウンロードするファイルのリストを作成します。
// ここでは、"myFolder"ディレクトリ内の全ファイルを対象にしています。
List<Dart.Ftp.ListEntry> filesToGet;
filesToGet = ftp1.List(workingDirectory + "/myFolder", "*.*", Dart.Ftp.ListType.Full);

// ListDirectoryTreeメソッドにより、サブディレクトリ以下も含むファイルのリストを作成できます。
//filesToGet = ftp1.ListDirectoryTree(workingDirectory + "/myFolder", "*.*", false);

// 特定のファイルをダウンロードしない場合は、そのファイルをリストから削除します。
// ここでは、"not_me.txt"というファイルをリストから削除しています。
//foreach (Dart.Ftp.ListEntry entry in filesToGet)
//{
//    if (entry.Name == "not_me.txt")
//    {
//        filesToGet.Remove(entry);
//        break;
//    }
//}

// リストに含まれるファイルを、c:\tempディレクトリにダウンロードします。
ftp1.Get(filesToGet, workingDirectory + "/myFolder", "c:\\temp", Dart.Ftp.Synchronize.SetDateTime);

ディレクトリを指定して一括ダウンロードする

Get(List,String,String,Synchronize)メソッドの第1引数にnullまたはNothingを指定すると、指定したディレクトリとサブディレクトリ以下の全ファイルが、ディレクトリごとダウンロードされます。

Visual Basic
コードのコピー
' FTPサーバーのカレントディレクトリ名を取得します。
Dim workingDirectory As String = Ftp1.GetDirectory()

' "myFolder"ディレクトリ以下のファイルを、"c:\temp"ディレクトリにダウンロードします。
Ftp1.Get(Nothing, workingDirectory + "/myFolder", "c:\temp", Dart.Ftp.Synchronize.SetDateTime)
C#
コードのコピー
// FTPサーバーのカレントディレクトリ名を取得します。
string workingDirectory = ftp1.GetDirectory();

// "myFolder"ディレクトリ以下のファイルを、"c:\temp"ディレクトリにダウンロードします。
ftp1.Get(null, workingDirectory + "/myFolder", "c:\\temp", Dart.Ftp.Synchronize.SetDateTime);

 

 


© 2002, GrapeCity inc. All rights reserved.